"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

Kør en simpel webapplikation - 1

"Færdig."

Trin 2: Indstil modultypen til Java Module. Indstil applikationstypen til Web Application og angiv JDK.

Kør en simpel webapplikation - 2

"Færdig."

Trin 3: Giv det et navneprojekt

Kør en simpel webapplikation - 3

"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

Kør en simpel webapplikation - 4

"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

Kør en simpel webapplikation - 5

"Færdig."

Trin 6: Opret en ny konfiguration ved at klikke på plustegnet

Kør en simpel webapplikation - 6

"Færdig."

Trin 7: Angiv, hvad der skal køres (Tomcat Server, Local)

Kør en simpel webapplikation - 7

"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

Kør en simpel webapplikation - 8

"Nu skal du vælge mappen, hvor Tomcat er placeret:"

Trin 9: Angiv Tomcats placering

Kør en simpel webapplikation - 9 Kør en simpel webapplikation - 10 Kør en simpel webapplikation - 11

"Færdig."

"Du burde få noget som dette:"

Trin 10: Resulterende konfiguration

Kør en simpel webapplikation - 12

"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

Kør en simpel webapplikation - 13

"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

Kør en simpel webapplikation - 14

"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

Kør en simpel webapplikation - 15

"Nej, jeg vil hellere skrive "Power to robots!"

"Fint. Nu er der bare lidt tilbage at lave."

Trin 14: Kør servlet og Tomcat

Kør en simpel webapplikation - 16

"Tomcat-loggen og staksporingen skal være synlig. Loggen bør ikke have nogen fejl."

"Noget i stil med dette:"

Trin 15 - Tomcat log

Kør en simpel webapplikation - 17

"Samtidig bør IDEA åbne en browser med URL'en til din servlet."

"Du burde få noget som dette:"

Trin 16: Skift index.jsp

Kør en simpel webapplikation - 18

"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

Kør en simpel webapplikation - 19

"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:"

JSP kode
<%@ 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!"