Logo Wissenstransfer Gerhard at CichnaDotCom

>> Wissensdatenbank / Programmieren von Webanwendungen

Grundlegende Java Web-Technologien

Java Server Pages (JSP)

Die Programmierung von HTML-Seiten innerhalb von Java-Klassen bereitet Probleme. Zum Beispiel müssen HTML-Entwickler nunmehr auch Kenntnisse in der Programmiersprache Java besitzen. Außerdem kann der HTML-Code nur kompliziert gewartet werden, weil er in println-Anweisungen gekapselt ist und Java-Editoren zudem üblicherweise keine Unterstützung zur Programmierung von HTML-Code wie z.B. Syntax-Highlighting bieten.

Die Servlet-Programmierung hat man wegen eines Paradigmen-Wechsels aufgegeben. Anstatt HTML-Code in einem Java-Programm einzubetten, entschied man sich eine Zeit lang für den umgekehrten Weg: Man baute den Java-Code in HTML-Code ein. Die dafür benötigte Java EE-Technologie hieß Java Server Pages (JSP) und wurde 2013 durch JSF abgelöst.

Mit JSP erzeugte HTML-Seiten hatten die Endung *.jsp. Aus technischem Blickwinkel sei angemerkt, dass JSP-Seiten vom Servlet-Container zur Laufzeit in Servlets umgewandelt werden. Davon bekommt allerdings weder der Entwickler noch der Besucher der Webseite etwas mit.

Um Java-Code in HTML einbetten zu können, wurden zwei spezielle Tags entwickelt. Einer der Tags dient der Auswertung kurzer Java-Ausdrücke, mit denen zum Beispiel die Ergebnisse einfacher Berechnungen in den HTML-Code eingefügt werden können.
Abbildung: Einbettung einfacher Java-Ausdrücke in JSP-Seiten

Sobald kompliziertere Java-Anweisungen eingebunden werden mussten, empfahl sich der Einsatz des zweiten Tags. Der darin enthaltene Code wurde vom Servlet-Container in die doGet()- bzw. doPost()-Methode des zur Laufzeit erzeugten Servlets eingefügt und ausgeführt. Aus diesem Grund konnte in diesen Tags auch auf die Attribute request und out zugegriffen werden. Um das Prinzip besser zu verstehen, wird diese Technologie anhand eines "Hello World"-Beispiels gezeigt, das eine persönliche Begrüßung anbietet. Hierzu wird ein Parameter aus der HTTP-Anfrage ausgelesen. Er kann durch einfache Modifikation der URL angegeben werden.
Abbildung: Einbettung komplexer Java-Ausdrücke in JSP-Seiten

Der Einsatz von JSP hat die Entwicklung dynamischer Webseiten deutlich vereinfacht. Der HTML-Code war deutlich besser zu warten und es musste keine komplette Servlet-Klasse programmiert werden, um eine Webseite umzusetzen.