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