"Ciao, Amico!"

"Ciao, Bilaabo! Cosa facciamo oggi?"

"Oggi ti dirò come installare un server Web Tomcat."

Installa e configura Tomcat - 1

"Cos'è un server web? Cos'è un server normale?"

"Esiste un modo in cui i programmi interagiscono chiamato relazione client-server. Il server soddisfa le richieste dei client. I client inviano le loro richieste al server e il server le soddisfa e restituisce il risultato."

"Immagina un venditore che serve i clienti in un negozio. In questo caso, il venditore è in realtà il server, i clienti del negozio sono i clienti e il prodotto venduto dal venditore è il risultato dell'elaborazione della richiesta (il risultato del lavoro del server) ."

"In altre parole, un server è colui che soddisfa le richieste/gli ordini/le esigenze di un cliente, giusto?"

"SÌ."

"Okay, quindi cos'è un server web?"

"Un server web è un programma che serve le richieste di pagine dai browser degli utenti."

"Quando inserisci un URL specifico in un browser, la richiesta va al server, il server elabora la richiesta, genera una pagina web e la rimanda al browser."

Installa e configura Tomcat - 2

"Il server web è il server. Il browser è il client. L'URL è la richiesta. La pagina web è il risultato dell'elaborazione della richiesta."

"Ah. La situazione sta lentamente diventando più chiara. In altre parole, un web server è un programma(?) che genera pagine per i browser. Giusto?"

"SÌ."

"Prendiamo un normale URL:"

Analisi degli URL
http://codegym.cc/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
Descrizione di parti di un URL
codegym.cc  è il  nome di dominio  il nome univoco (indirizzo) di un computer su Internet
http  è il  protocollo  per la comunicazione client-server
alpha/api/contacts  è la richiesta del server Web o la richiesta di una pagina Web sul server
userid=13 &filter=none & page=3  è la richiesta del server web o la richiesta di una pagina web sul server

"Dai un'occhiata. Prendiamo un computer e lo colleghiamo a Internet."

"Poi compriamo un nome di dominio per questo."

"Quindi eseguiamo un server web su di esso."

"Ora puoi inviare richieste a questo server web da qualsiasi browser inserendo un URL con il suo nome di dominio."

"Penso di capire."

"Condividerò un'analogia per rendere tutto un po' più chiaro."

Analisi delle conversazioni URL
Italiano :// Jason / passami la cartella ? numero=13
Descrizione di parti dell'URL
Jason  è il nome univoco di un computer su Internet
L'inglese  è il protocollo per la comunicazione client-server
pass me folder  è la richiesta del server web o la richiesta di una pagina web sul server
number=13  è una stringa con i parametri della richiesta

"Ah. Questo è davvero più chiaro. Grazie."

"Non è tutto. A volte diversi server web girano su un singolo computer. Per distinguerli, vengono assegnati dei numeri."

"Pensa a un dominio come a un edificio. Se una famiglia vive nell'edificio, allora scriveresti qualcosa come «5 Third Anti-Martian Uprising St.» quando invii loro una lettera."

"Ora immagina che diverse famiglie vivano nell'edificio."

"Come un condominio?"

"Esattamente! È molto simile. Grazie per l'analogia."

"All'interno dell'edificio ci sono molti appartamenti. Alcuni appartamenti non sono occupati. Alcuni sono occupati da server web. E quando invii una richiesta a un server web, devi anche specificare il numero dell'appartamento. In un URL, questo numero è chiamato a porta."

"Per esempio:"

http://codegym.cc:80/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
http://codegym.cc:8080/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
http://codegym.cc:443/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3

"In realtà, tutti i server sono condomini. E ognuno ha 65.000 appartamenti (porte)."

"Perché 65.000?"

"Due byte vengono utilizzati per indicare un numero di porta. 65536 è il valore intero più grande lungo due byte."

"Ogni protocollo (http, https, ftp, ...) ha la propria porta predefinita."

"Se il numero dell'appartamento (porta) non è specificato, viene utilizzata la porta predefinita del protocollo."

"Se il protocollo è http, la porta è 80. Se il protocollo è https, la porta è 443, ecc."

"In altre parole, le seguenti voci sono equivalenti:"

URL Cosa significa davvero
http://www.mail.google.com _ http://www.mail.google.com : 80
http://codegym.cc _ http://codegym.cc : 80
http://codegym.cc/alpha _ http://codegym.cc:80/alpha _ _ _
https://codegym.cc/api?x _ https://codegym.cc:443/api?x _ _ _

"E se la porta è 444, ma il protocollo è https?"

"Te l'ho già detto. Se la porta non è specificata, viene determinata in base al protocollo. Se è specificata, viene utilizzata la porta specificata."

"Vedo."

"Sai come gli umani a volte usano i pronomi invece dei nomi: io, tu, lui, …?"

"Sì, ma le persone sono intrinsecamente strane. Cerco di non prestare attenzione a questo."

"Beh, anche i computer hanno un nome di dominio che significa 'io'. È 'localhost'."

"Se inserisci localhost nel tuo browser, il browser accederà al tuo computer."

"E se hai un server web installato, invierà una pagina web al browser."

"Fantastico! Voglio avviare un server Web e aprire le pagine nel browser."

"Dimmi come si fa, Bilaabo. Ti prego!!! Sei mio amico, vero?"

"Bilaabo farebbe qualsiasi cosa per un amico."

"Ascolta."

Passo 1
Installa il Java Development Kit (JDK)
Risultato
Il JDK è installato

"Bilaabo, sono un programmatore di livello 30. Ho installato il JDK molto tempo fa!"

"Fantastico, allora andiamo avanti."

Passo 2
Scarica Tomcat 9
Suggerimento 1:
Usa Google
Suggerimento 2:
Pagina web ufficiale di Apache Tomcat
Suggerimento 3 (collegamento diretto per utenti Windows):
Scarica ApacheTomcat

"Fatto."

"Grande."

Passaggio 3
Installa Tomcat 9
Utilizza le impostazioni di installazione predefinite.
Non cambiare niente.
Schermata 3
Installa e configura Tomcat - 3
Schermata 4
Installa e configura Tomcat - 4

"Qui puoi impostare il nome e la porta del server web. L'impostazione predefinita è la porta 8080.
Non modificare nulla. Lascia tutto così com'è."

Schermata 5
Installa e configura Tomcat - 5

Specificare la cartella in cui è installato JDK

Schermata 6
Installa e configura Tomcat - 6
Schermata 7
Installa e configura Tomcat - 7

"Sì. Ho appena fatto clic su Avanti e basta."

"Fantastico. Ora hai un web server Tomcat 9 installato e funzionante, in attesa di richieste sulla porta 8080. Questa è la porta standard per lo sviluppo software."

"Va bene, quindi ho Tomcat, ma come posso scrivere un programma per questo?"

"Voglio che generi qualcosa di interessante, una sorta di bella pagina web."

"OK, ti dirò come farlo dopo una breve pausa."