"Här är jag. Som efterfrågat ska jag nu berätta hur du skriver din första webbserver."

"En webbserver är som ett operativsystem. Den är inte värdefull i och för sig. Den är värdefull eftersom du kan köra speciella webbprogram (servlets) på den. "

"Det är dessa servlets som behandlar förfrågningarna som kommer från användare."

"Hur behandlar de förfrågningar? Hur kör jag mitt program på en webbserver?"

"För att skriva din egen servlet måste din klass ärva klassen HttpServlet. Implementera sedan dess doGet() och doPost() metoder. När en begäran kommer från en användare skapar webbservern ett av dina servletobjekt och anropar dess doGet() metod. Eller så anropar den doPost()-metoden, beroende på vilken typ av begäran som kommer från webbläsaren."

"Men hur kommer mitt program ens in på webbservern?"

"Det är enkelt. Du skriver programmet, kompilerar det och lägger det i en speciell mapp i katalogen där du installerade Tomcat."

"Servlets är ett stort och intressant, men separat, ämne. Så jag ska inte förklara det för dig idag. Jag ska berätta lite om något annat."

"JSPs är en mycket intressant typ av servlet som kallas. De är ungefär som PHP."

"Låt oss skriva och köra det enklaste möjliga webbprogrammet med JSP:er."

"Låt oss göra det! Jag är redo."

"Så låt oss börja."

Steg 1: Skapa ett nytt webbprojekt

Kör en enkel webbapplikation - 1

"Gjort."

Steg 2: Ställ in modultypen på Java Module. Ställ in applikationstypen till Web Application och ange JDK.

Kör en enkel webbapplikation - 2

"Gjort."

Steg 3: Ge det ett namnprojekt

Kör en enkel webbapplikation - 3

"Gjort."

"Du borde se ett nytt tomt projekt."

"Nästan tom. Den kommer att innehålla en fil som heter index.jsp. Hitta den."

Steg 4: Hitta JSP-filen

Kör en enkel webbapplikation - 4

"Hittade det."

"Bra. Det är här vi kan skriva vår servlets kod."

"Men låt oss först konfigurera IntelliJ IDEA lite."

"Du kan köra servlets i Tomcat direkt från IntelliJ IDEA. Och felsöka dem om det behövs. I grund och botten är det superbekvämt och fantastiskt. Du kommer att uppskatta det när det är dags."

"Jag tror dig. Så vad händer härnäst?"

"Vi kommer att 'lära' IntelliJ IDEA hur man kör vår webbmodul (vår applikation) i Tomcat."

Steg 5: Välj "Redigera konfiguration" i menyn

Kör en enkel webbapplikation - 5

"Gjort."

Steg 6: Skapa en ny konfiguration genom att klicka på plustecknet

Kör en enkel webbapplikation - 6

"Gjort."

Steg 7: Ange vad som ska köras (Tomcat Server, Local)

Kör en enkel webbapplikation - 7

"Ange ett namn för konfigurationen i fältet Namn, som är markerat med rött."

"Porten som Tomcat kommer att starta servleten på visas i grönt."

"Vi måste också berätta för IntelliJ IDEA var Tomcat finns. Klicka på knappen Konfigurera..."

Steg 8: Skapa en körkonfiguration

Kör en enkel webbapplikation - 8

"Nu måste du välja mappen där Tomcat finns:"

Steg 9: Ange Tomcats plats

Kör en enkel webbapplikation - 9 Kör en enkel webbapplikation - 10 Kör en enkel webbapplikation - 11

"Gjort."

"Du borde få något sånt här:"

Steg 10: Resulterande konfiguration

Kör en enkel webbapplikation - 12

"Nu måste vi koppla vårt projekt till Tomcat."

Det är så mycket som måste göras. Det är bra att jag har så detaljerade instruktioner."

"Du slår vad! Jag försöker för min vän."

"Tryck nu på Fix-knappen och IDEA kommer att göra allt på egen hand."

Steg 11: IDEA kopplar ihop projektet och Tomcat

Kör en enkel webbapplikation - 13

"Gjort."

"Bra. En kommentar till. Port 8080 är förmodligen redan upptagen. När allt kommer omkring började Tomcat köras direkt efter installationen."

"IntelliJ IDEA kan lägga till servlets till ett pågående projekt, men för enkelhetens skull kommer den för tillfället att starta en ny Tomcat-server varje gång."

"Så, vi kommer att ha flera Tomcats igång?"

"Japp. Och var och en behöver sin egen port. Så låt oss ändra port 8080 till port 8888 i projektinställningarna."

"4 åttor. Jag gillar det."

Steg 12: Ändra porten till 8888

Kör en enkel webbapplikation - 14

"Gjort."

"Bra. Vi är klara med inställningarna."

"Så, vad händer härnäst?"

"Låt oss nu ändra vår index.jsp-fil lite"

"Skriv något där, till exempel "Makt till kräftdjur!"

Steg 13: Ändra index.jsp

Kör en enkel webbapplikation - 15

"Nej, jag skulle hellre skriva "Power to robots!"

"Jättebra. Nu är det bara lite kvar att göra."

Steg 14: Kör servlet och Tomcat

Kör en enkel webbapplikation - 16

"Tomcat-loggen och stackspårningen ska vara synliga. Loggen ska inte ha några fel."

"Något som det här:"

Steg 15 - Tomcat-logg

Kör en enkel webbapplikation - 17

"Samtidigt bör IDEA öppna en webbläsare med URL:en till din servlet."

"Du borde få något sånt här:"

Steg 16: Ändra index.jsp

Kör en enkel webbapplikation - 18

"Japp. Det är vad jag fick. Coolt!"

"Och ange nu följande URL i webbläsaren:"

http://localhost:8888/index.jsp

"Inget förändrat."

"Säg inte så."

Steg 17: Ändra index.jsp

Kör en enkel webbapplikation - 19

"Nu visar webbläsaren filen index.jsp som du såg i IntelliJ IDEA."

"Den jag bytte?"

"Ja."

"Men om endast domänen anges i webbläsarens begäran, och inte resten av begäran, kommer standardhanteraren att anropas. I vårt fall är detta index.jsp."

"Anta att du har tre filer: index.jsp , apple.jsp , google.jsp . Så här kommer det att fungera:"

Begäran Svar
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 Felmeddelande: Servlet hittades inte
http://localhost:8888/google.jsp google.jsp
http://localhost:8888/ index Felmeddelande: Servlet hittades inte

"Jag förstår det."

"Bilaabo, du har berättat att JSP:er är fantastiska så länge. Men de påminner väldigt mycket om vanliga HTML-sidor. Allt är exakt detsamma."

"Tja, inte allt. Försök att lägga till följande text till JSP:"

JSP-kod
<%@ 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 bädda in Java-kod på en JSP-sida, och den kommer att köras!

"Java-kod på en JSP-sida kallas ett scriptlet och är inneslutet i <% och %> taggar"

"Oj."

"OK. Jag ska gå och skriva några egna JSP-sidor."

"Tack så mycket, Bilaabo."

"Och tack till dig, min vän!"