"Her er jeg. Som anmodet, vil jeg nu fortælle dig, hvordan du skriver din første webserver."
"En webserver er ligesom et operativsystem. Den er ikke værdifuld i sig selv. Den er værdifuld, fordi du kan køre specielle webprogrammer (servlets) på den. "
"Det er disse servlets, der behandler de anmodninger, der kommer fra brugere."
"Hvordan behandler de anmodninger? Hvordan kører jeg mit program inde i en webserver?"
"For at skrive din egen servlet skal din klasse arve klassen HttpServlet. Implementer derefter dens doGet() og doPost() metoder. Når en anmodning kommer fra en bruger, opretter webserveren et af dine servletobjekter og kalder dets doGet() metode. Eller den kalder doPost()-metoden, afhængigt af typen af anmodning, der kommer fra browseren."
"Men hvordan kommer mit program overhovedet ind på webserveren?"
"Det er enkelt. Du skriver programmet, kompilerer det og lægger det i en særlig mappe i den mappe, hvor du installerede Tomcat."
"Servletter er et stort og interessant, men separat, emne. Så det vil jeg ikke forklare dig i dag. Jeg vil fortælle dig lidt om noget andet."
"JSP'er er en meget interessant type servlet kaldet. De er lidt ligesom PHP."
"Lad os skrive og køre det enklest mulige webprogram ved hjælp af JSP'er."
"Lad os gøre det! Jeg er klar."
"Så lad os begynde."
Trin 1: Opret et nyt webprojekt
"Færdig."
Trin 2: Indstil modultypen til Java Module. Indstil applikationstypen til Web Application og angiv JDK.
"Færdig."
Trin 3: Giv det et navneprojekt
"Færdig."
"Du burde se et nyt tomt projekt."
"Næsten tom. Den vil indeholde en fil kaldet index.jsp. Find den."
Trin 4: Find JSP-filen
"Fundet det."
"Fantastisk. Det er her, vi kan skrive vores servlets kode."
"Men lad os først konfigurere IntelliJ IDEA lidt."
"Du kan køre servlets i Tomcat direkte fra IntelliJ IDEA. Og debug dem, hvis det er nødvendigt. Grundlæggende er det super praktisk og fantastisk. Du vil sætte pris på det, når tiden kommer."
"Jeg tror dig. Så hvad er det næste?"
"Vi vil 'lære' IntelliJ IDEA, hvordan man kører vores webmodul (vores applikation) i Tomcat."
Trin 5: Vælg 'Rediger konfiguration' i menuen
"Færdig."
Trin 6: Opret en ny konfiguration ved at klikke på plustegnet
"Færdig."
Trin 7: Angiv, hvad der skal køres (Tomcat Server, Local)
"Angiv et navn til konfigurationen i feltet Navn, som er markeret med rødt."
"Den port, som Tomcat vil starte servlet på, er angivet med grønt."
"Vi skal også fortælle IntelliJ IDEA, hvor Tomcat er placeret. Klik på knappen Konfigurer..."
Trin 8: Opret en kørselskonfiguration
"Nu skal du vælge mappen, hvor Tomcat er placeret:"
Trin 9: Angiv Tomcats placering
"Færdig."
"Du burde få noget som dette:"
Trin 10: Resulterende konfiguration
"Nu skal vi forbinde vores projekt med Tomcat."
Der er så meget, der skal gøres. Det er godt, jeg har fået så detaljerede instruktioner."
"Du satser! Jeg prøver for min ven."
"Tryk nu på Fix-knappen, og IDEA vil gøre alt på egen hånd."
Trin 11: IDEA forbinder projektet og Tomcat
"Færdig."
"Fantastisk. Endnu en kommentar. Port 8080 er sandsynligvis allerede optaget. Trods alt begyndte Tomcat at køre umiddelbart efter installationen."
"IntelliJ IDEA kan tilføje servlets til et kørende projekt, men for nemheds skyld starter den en ny Tomcat-server hver gang."
"Så vi har flere Tomcats kørende?"
"Jep. Og hver enkelt har brug for sin egen port. Så lad os ændre port 8080 til port 8888 i projektindstillingerne."
"4 ottere. Jeg kan godt lide det."
Trin 12: Skift porten til 8888
"Færdig."
"Fantastisk. Vi er færdige med indstillingerne."
"Så hvad er det næste?"
"Lad os nu ændre vores index.jsp fil lidt"
"Skriv noget der, for eksempel "Kraft til krebsdyr!""
Trin 13: Skift index.jsp
"Nej, jeg vil hellere skrive "Power to robots!"
"Fint. Nu er der bare lidt tilbage at lave."
Trin 14: Kør servlet og Tomcat
"Tomcat-loggen og staksporingen skal være synlig. Loggen bør ikke have nogen fejl."
"Noget i stil med dette:"
Trin 15 - Tomcat log
"Samtidig bør IDEA åbne en browser med URL'en til din servlet."
"Du burde få noget som dette:"
Trin 16: Skift index.jsp
"Jep. Det er hvad jeg fik. Fedt!"
"Og indtast nu følgende URL i browseren:"
http://localhost:8888/index.jsp |
"Intet ændrede sig."
"Sig det ikke."
Trin 17: Skift index.jsp
"Nu viser browseren filen index.jsp, du så i IntelliJ IDEA."
"Den jeg ændrede?"
"Ja."
"Men hvis kun domænet er angivet i browserens anmodning, og ikke resten af anmodningen, vil standardhandleren blive kaldt. I vores tilfælde er dette index.jsp."
"Antag, at du har tre filer: index.jsp , apple.jsp , google.jsp . Sådan vil tingene fungere:"
Anmodning | Respons |
---|---|
http://localhost:8888 | index.jsp |
http://localhost:8888/ | index.jsp |
http://localhost:8888/index.jsp | index.jsp |
http://localhost:8888/apple.jsp | apple.jsp |
http://localhost:8888/ samsung.jsp | Fejlmeddelelse: Servlet ikke fundet |
http://localhost:8888/google.jsp | google.jsp |
http://localhost:8888/ index | Fejlmeddelelse: Servlet ikke fundet |
"Jeg forstår, at."
"Bilaabo, du har fortalt, at JSP'er er fantastiske i så lang tid. Men de minder meget om almindelige HTML-sider. Alt er nøjagtigt det samme."
"Nå, ikke alt. Prøv at tilføje følgende tekst til JSP'en:"
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<html>
<head>
<title>Amigo says hi</title>
</head>
<body>
<%--This is still HTML--%>
<%
// But I can write Java code here
String s = "Power to robots!";
for(int i=0; i<10; i++)
{
out.println(s);
out.println("<br>");
}
%>
<%--and this is HTML again--%>
</body>
</html>
"Du kan indlejre Java-kode på en JSP-side, og den kører!
"Java-kode på en JSP-side kaldes en scriptlet og er indesluttet i <% og %> tags"
"Hov."
"OK. Jeg vil skrive et par JSP-sider af mine egne."
"Tusind tak, Bilaabo."
"Og tak til dig, min ven!"
GO TO FULL VERSION