"Hier ben ik. Zoals gevraagd, zal ik je nu vertellen hoe je je eerste webserver moet schrijven."

"Een webserver is als een besturingssysteem. Het is op zichzelf niet waardevol. Het is waardevol omdat je er speciale webprogramma's (servlets) op kunt draaien. "

"Het zijn deze servlets die de verzoeken van gebruikers verwerken."

"Hoe verwerken ze verzoeken? Hoe voer ik mijn programma uit op een webserver?"

"Om uw eigen servlet te schrijven, moet uw klasse de klasse HttpServlet erven. Implementeer vervolgens de methoden doGet() en doPost(). Wanneer een verzoek van een gebruiker komt, maakt de webserver een van uw servletobjecten en roept zijn doGet() methode. Of het roept de methode doPost() aan, afhankelijk van het type verzoek dat van de browser komt."

"Maar hoe komt mijn programma überhaupt op de webserver terecht?"

"Dat is simpel. Je schrijft het programma, compileert het en zet het in een speciale map in de directory waar je Tomcat hebt geïnstalleerd."

"Servlets zijn een groot en interessant, maar apart onderwerp. Dus dat ga ik je vandaag niet uitleggen. Ik zal je iets over iets anders vertellen."

"JSP's zijn een heel interessant type servlet genaamd. Ze lijken een beetje op PHP."

"Laten we het eenvoudigst mogelijke webprogramma schrijven en uitvoeren met JSP's."

"Laten we het doen! Ik ben er klaar voor."

"Laten we dan beginnen."

Stap 1: Maak een nieuw webproject aan

Voer een eenvoudige webtoepassing uit - 1

"Klaar."

Stap 2: Stel het moduletype in op Java-module. Stel het toepassingstype in op Webtoepassing en geef de JDK op.

Voer een eenvoudige webtoepassing uit - 2

"Klaar."

Stap 3: Geef het een naam project

Voer een eenvoudige webapplicatie uit - 3

"Klaar."

"Je zou een nieuw leeg project moeten zien."

"Bijna leeg. Het bevat één bestand met de naam index.jsp. Zoek het op."

Stap 4: Zoek het JSP-bestand

Voer een eenvoudige webapplicatie uit - 4

"Gevonden."

"Geweldig. Hier kunnen we de code van onze servlet schrijven."

"Maar laten we IntelliJ IDEA eerst een beetje configureren."

"Je kunt servlets rechtstreeks vanuit IntelliJ IDEA in Tomcat uitvoeren. En ze indien nodig debuggen. Kortom, het is superhandig en geweldig. Je zult het op prijs stellen als de tijd daar is."

'Ik geloof je. Wat nu?'

"We zullen IntelliJ IDEA 'leren' hoe onze webmodule (onze applicatie) in Tomcat moet worden uitgevoerd."

Stap 5: Kies in het menu voor 'Configuratie bewerken'

Voer een eenvoudige webtoepassing uit - 5

"Klaar."

Stap 6: Maak een nieuwe configuratie aan door op het plusteken te klikken

Voer een eenvoudige webtoepassing uit - 6

"Klaar."

Stap 7: Geef aan wat u wilt uitvoeren (Tomcat Server, Lokaal)

Voer een eenvoudige webtoepassing uit - 7

"Geef een naam op voor de configuratie in het veld Naam, dat rood is gemarkeerd."

"De poort waarop Tomcat de servlet zal starten, wordt groen aangegeven."

"We moeten IntelliJ IDEA ook vertellen waar Tomcat zich bevindt. Klik op de knop Configureren..."

Stap 8: Maak een uitvoeringsconfiguratie

Voer een eenvoudige webtoepassing uit - 8

"Nu moet je de map selecteren waarin Tomcat zich bevindt:"

Stap 9: Specificeer de locatie van Tomcat

Voer een eenvoudige webtoepassing uit - 9 Voer een eenvoudige webtoepassing uit - 10 Voer een eenvoudige webtoepassing uit - 11

"Klaar."

"Je zou zoiets moeten krijgen:"

Stap 10: resulterende configuratie

Voer een eenvoudige webtoepassing uit - 12

"Nu moeten we ons project koppelen aan Tomcat."

Er is zoveel dat moet gebeuren. Het is maar goed dat ik zulke gedetailleerde instructies heb."

"Reken maar! Ik probeer het voor mijn vriend."

"Druk nu op de Fix-knop en IDEA doet alles zelf."

Stap 11: IDEA verbindt het project en Tomcat

Voer een eenvoudige webtoepassing uit - 13

"Klaar."

"Geweldig. Nog een opmerking. Poort 8080 is waarschijnlijk al bezet. Tomcat begon immers meteen na de installatie te draaien."

"IntelliJ IDEA kan servlets toevoegen aan een lopend project, maar voor het gemak start het nu elke keer een nieuwe Tomcat-server."

"Dus we zullen verschillende Tomcats laten rennen?"

"Ja. En elk heeft zijn eigen poort nodig. Dus laten we poort 8080 veranderen in poort 8888 in de projectinstellingen."

"4 achten. Ik vind het leuk."

Stap 12: Verander de poort naar 8888

Voer een eenvoudige webtoepassing uit - 14

"Klaar."

"Geweldig. We zijn klaar met de instellingen."

"Dus wat nu?"

"Laten we nu ons bestand index.jsp een beetje veranderen"

"Schrijf daar iets op, bijvoorbeeld «Kracht aan schaaldieren!»"

Stap 13: Wijzig index.jsp

Voer een eenvoudige webtoepassing uit - 15

"Nee, ik schrijf liever «Power to robots!»"

'Geweldig. Nu is er nog maar een klein beetje te doen.'

Stap 14: Start de servlet en Tomcat

Voer een eenvoudige webtoepassing uit - 16

"Het Tomcat-logboek en de stacktrace zouden zichtbaar moeten zijn. Het logboek zou geen fouten moeten bevatten."

"Iets zoals dit:"

Stap 15 - Tomcat-logboek

Voer een eenvoudige webtoepassing uit - 17

"Tegelijkertijd zou IDEA een browser moeten openen met de URL naar uw servlet."

"Je zou zoiets moeten krijgen:"

Stap 16: Wijzig index.jsp

Voer een eenvoudige webtoepassing uit - 18

"Ja. Dat is wat ik heb. Cool!"

"En voer nu de volgende URL in de browser in:"

http://localhost:8888/index.jsp

"Er is niets veranderd."

"Zeg dat niet."

Stap 17: Wijzig index.jsp

Voer een eenvoudige webtoepassing uit - 19

"Nu geeft de browser het bestand index.jsp weer dat je in IntelliJ IDEA hebt gezien."

"Degene die ik heb veranderd?"

"Ja."

"Maar als alleen het domein wordt opgegeven in het verzoek van de browser, en niet de rest van het verzoek, dan wordt de standaardhandler aangeroepen. In ons geval is dit index.jsp."

"Stel dat je drie bestanden hebt: index.jsp , apple.jsp , google.jsp . Zo werkt het:"

Verzoek Antwoord
http://lokalehost:8888 index.jsp
http://localhost:8888/ index.jsp
http://localhost:8888/index.jsp index.jsp
http://localhost:8888/apple.jsp appel.jsp
http://localhost:8888/ samsung.jsp Foutmelding: Servlet niet gevonden
http://localhost:8888/google.jsp google.jsp
http://localhost:8888/ index Foutmelding: Servlet niet gevonden

"Ik begrijp dat."

"Bilaabo, je vertelt al zo lang dat JSP's geweldig zijn. Maar ze lijken erg op gewone HTML-pagina's. Alles is precies hetzelfde."

"Nou, niet alles. Probeer de volgende tekst toe te voegen aan de JSP:"

JSP-code
<%@ 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>

"U kunt Java-code in een JSP-pagina insluiten en deze wordt uitgevoerd!

"Java-code in een JSP-pagina wordt een scriptlet genoemd en is ingesloten in <%- en %>-tags"

"Wauw."

'Oké. Ik ga zelf een paar JSP-pagina's schrijven.'

"Heel erg bedankt, Bilaabo."

"En bedankt aan jou, mijn vriend!"