"Hej, Amigo!"
"Hej Bilaabo! Vad gör vi idag?"
"Idag ska jag berätta hur du installerar en Tomcat-webbserver."

"Vad är en webbserver? Vad är en vanlig server?"
"Det finns ett sätt för program att interagera som kallas en klient-server-relation. Servern betjänar klientförfrågningar. Klienter skickar sina förfrågningar till servern och servern uppfyller dem och returnerar resultatet."
"Föreställ dig en säljare som betjänar kunder i en butik. I det här fallet är säljaren faktiskt servern, butikens kunder är kunderna och produkten som säljs av säljaren är resultatet av att bearbeta förfrågan (resultatet av serverns arbete). ."
"Med andra ord, en server är den som servar en kunds önskemål/order/behov, eller hur?"
"Ja."
"Okej, så vad är en webbserver?"
"En webbserver är ett program som betjänar sidförfrågningar från användarnas webbläsare."
"När du anger en specifik URL i en webbläsare går begäran till servern, servern bearbetar begäran, genererar en webbsida och skickar tillbaka den till webbläsaren."

"Webbservern är servern. Webbläsaren är klienten. URL:en är förfrågan. Webbsidan är resultatet av bearbetningen av begäran."
"Ah. Situationen blir sakta klarare. Med andra ord är en webbserver ett program(?) som genererar sidor för webbläsare. Eller hur?"
"Ja."
"Låt oss ta en vanlig URL:"
Parsar webbadresser |
---|
http :// codegym.cc / alpha/api/contacts ? userid=13&filter=none&page=3 |
Beskrivning av delar av en URL |
codegym.cc är domännamnet det unika namnet (adressen) till en dator på Internet |
http är protokollet för klient-serverkommunikation |
alpha/api/contacts är webbserverns begäran eller begäran om en webbsida på servern |
userid=13 &filter=none & page=3 är webbserverns begäran eller begäran om en webbsida på servern |
"Kolla in det. Vi skaffar en dator och ansluter den till internet."
"Då köper vi ett domännamn till det."
"Då kör vi en webbserver på den."
"Nu kan du skicka förfrågningar till den här webbservern från vilken webbläsare som helst genom att ange en URL med dess domännamn."
"Jag tror jag förstår."
"Jag ska dela en analogi för att göra allt lite tydligare."
Parsar |
---|
Engelska :// Jason / pass me folder ? nummer=13 |
Beskrivning av delar av |
Jason är det unika namnet på en dator på Internet |
Engelska är protokollet för klient-serverkommunikation |
pass me-mappen är webbserverns begäran, eller begäran om en webbsida på servern |
nummer=13 är en sträng med förfrågningsparametrarna |
"Ah. Det är verkligen tydligare. Tack."
"Det är inte allt. Ibland körs flera webbservrar på en enda dator. För att särskilja dem tilldelas de nummer."
"Tänk på en domän som en byggnad. Om en familj bor i byggnaden skulle du skriva något i stil med «5 Third Anti-Martian Uprising St.» när du skickar dem ett brev."
— Föreställ dig nu att det bor flera familjer i byggnaden.
"Som ett hyreshus?"
"Precis! Det är väldigt likt. Tack för liknelsen."
"Inne i byggnaden finns det många lägenheter. Vissa lägenheter är obebodda. Vissa är upptagna av webbservrar. Och när du skickar en förfrågan till en webbserver måste du också ange lägenhetsnumret. I en URL kallas detta nummer för en hamn."
"Till exempel:"
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 |
"I verkligheten är alla servrar flerbostadshus. Och var och en har 65 000 lägenheter (hamnar)."
"Varför 65 000?"
"Två byte används för att indikera ett portnummer. 65536 är det största heltalsvärdet som är två byte långt."
"Varje protokoll (http, https, ftp, ...) har sin egen standardport."
"Om lägenhetsnumret (porten) inte anges används protokollets standardport."
"Om protokollet är http, är porten 80. Om protokollet är https, är porten 443, etc."
"Med andra ord, följande poster är likvärdiga:"
URL | Vad det egentligen betyder |
---|---|
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 |
"Vad händer om porten är 444, men protokollet är https?"
"Jag har redan sagt det till dig. Om porten inte är specificerad bestäms den utifrån protokollet. Om den är specificerad används den angivna porten."
"Jag förstår."
"Du vet hur människor ibland använder pronomen istället för namn: jag, du, han, ...?"
"Ja, men människor är i sig konstiga. Jag försöker att inte uppmärksamma det."
"Jo, datorer har också ett domännamn som betyder 'jag'. Det är 'localhost'."
"Om du anger localhost i din webbläsare kommer webbläsaren åt din dator."
"Och om du har en webbserver installerad kommer den att skicka en webbsida till webbläsaren."
"Coolt! Jag vill starta en webbserver och öppna sidor i webbläsaren."
"Berätta för mig hur man gör det, Bilaabo. Snälla! Du är min vän, eller hur?"
"Bilaabo skulle göra vad som helst för en vän."
"Lyssna."
Steg 1 |
---|
Installera Java Development Kit (JDK) |
Resultat |
JDK är installerat |
"Bilaabo, jag är en nivå 30-programmerare. Jag installerade JDK för länge sedan!"
"Bra, låt oss fortsätta."
Steg 2 |
---|
Ladda ner Tomcat 9 |
Tips 1: |
Använd Google |
Tips 2: |
Officiell Apache Tomcat-webbsida |
Tips 3 (direktlänk för Windows-användare): |
Ladda ner Apache Tomcat |
"Jag fattar."
"Bra."
Steg 3 |
---|
Installera Tomcat 9 Använd standardinstallationsinställningarna. Ändra ingenting. |
Skärm 3 |

Skärm 4 |
---|

"Här kan du ställa in webbserverns namn och port. Standard är port 8080.
Ändra ingenting. Lämna allt som det är."
Skärm 5 |
---|

Ange mappen där JDK är installerat
Skärm 6 |
---|

Skärm 7 |
---|

"Japp. Jag klickade bara på Nästa och det var allt."
"Bra. Nu har du en Tomcat 9-webbserver installerad och igång, som lyssnar efter förfrågningar på port 8080. Detta är standardporten för mjukvaruutveckling."
"Okej, så jag har Tomcat, men hur kan jag skriva ett program för den?"
"Jag vill att det ska generera något intressant - någon sorts cool webbsida."
"OK, jag ska berätta hur du gör det efter en kort paus."
GO TO FULL VERSION