JSP Struktur
Webserver benötigen eine JSP-Engine, d. h. einen Container, um JSP-Seiten zu verarbeiten. Der Container ist dafür verantwortlich, Anfragen für JSP-Seiten abzufangen. Dieses Tutorial verwendet Apache mit einem eingebetteten JSP-Container, um die JSP-Entwicklung zu unterstützen.
Der JSP-Container arbeitet mit dem Webserver zusammen, um die notwendige Laufzeitumgebung und andere Dienste für den normalen Betrieb von JSP bereitzustellen, und kann spezielle Elemente, die ausschließlich JSP-Seiten vorbehalten sind, korrekt erkennen.
Die folgende Abbildung zeigt die Position des JSP-Containers und der JSP-Dateien in einer Webanwendung.
JSP-Verarbeitung
Die folgenden Schritte zeigen, wie ein Webserver JSP verwendet, um Webseiten zu erstellen:
-
Genau wie bei anderen gewöhnlichen Webseiten sendet Ihr Browser eine HTTP-Anfrage an den Server.
-
Der Webserver erkennt, dass es sich um eine Anfrage für eine JSP-Seite handelt, und leitet die Anfrage an die JSP-Engine weiter. Dies geschieht unter Verwendung der URL oder der .jsp-Datei.
-
Die JSP-Engine lädt die JSP-Datei von der Festplatte und konvertiert sie in ein Servlet. Diese Konvertierung ändert einfach den gesamten Vorlagentext in println()-Anweisungen und konvertiert alle JSP-Elemente in Java-Code.
-
Die JSP-Engine kompiliert das Servlet in eine ausführbare Klasse und leitet die ursprüngliche Anfrage an die Servlet-Engine weiter.
-
Eine Komponente des Webservers ruft die Servlet-Engine auf und lädt und führt dann die Servlet-Klasse aus. Während der Ausführung erzeugt das Servlet eine Ausgabe im HTML-Format und bettet sie in die HTTP-Antwort ein, die an den Webserver zurückgesendet wird.
-
Der Webserver gibt die HTTP-Antwort in Form einer statischen HTML-Seite an Ihren Browser zurück.
-
Schließlich verarbeitet der Webbrowser die dynamisch generierte HTML-Seite in der HTTP-Antwort genauso, wie er eine statische Seite verarbeiten würde.
Die oben genannten Schritte können durch die folgende Abbildung dargestellt werden:
Im Allgemeinen prüft die JSP-Engine, ob das der JSP-Datei entsprechende Servlet bereits existiert, und prüft, ob das Änderungsdatum der JSP-Datei früher als das des Servlets liegt. Wenn das Änderungsdatum der JSP-Datei früher als das des entsprechenden Servlets liegt, kann der Container feststellen, dass die JSP-Datei nicht geändert wurde und das Servlet gültig ist. Dadurch wird der gesamte Prozess im Vergleich zu anderen Skriptsprachen (wie PHP) effizienter und schneller.
Zusammenfassend ist eine JSP-Seite eine andere Möglichkeit, ein Servlet zu schreiben, ohne ein Java-Programmierexperte sein zu müssen. Abgesehen von der Interpretationsphase kann eine JSP-Seite fast wie ein gewöhnliches Servlet behandelt werden.
Andere Erweiterungen