Java: JSP (Java Server Pages)
von Heike Wolf/Stephan Steege
JSP erweitern das Einsatzspektrum von Java um die Möglichkeit, Aktionen auf dem Server durchzuführen, statt - wie die Applets, auf dem Client.
Java Server Pages bieten die Möglichkeit, ein HTML-Dokument durch zusätzliche Informationen in Form von Java-Code zu ergänzen. Das könnte zum Beispiel so aussehen:
<HTML><BODY>
Heute ist der <% out.print( new.java.util.Date() ); %>
</BODY></HTML>
In unserem Beispiel wird jeweils das aktuelle Datum angezeigt. Die eingebundene Methode muss einmal vom Compiler übersetzt werden. Dabei wird ein Servlet erzeugt. Beim nächsten Aufruf nutzt der Servlet-Container das bereits übersetzte Servlet. Wer Tomcat benutzt, kann auf den integrierten Sun-Compiler in tools.jar zugreifen.
Als Scriptlets werden die Textteile bezeichnet, die zwischen <% und %> in den HTML-Code eingebettet sind. Dieser Text darf beliebiger, gültiger Java-Code sein.
Direktiven werden innerhalb von JSP benutzt und beeinflussen die Struktur einer Seite. Äußerlich erkennbar sind sie daran, dass sie in die Zeichenfolgen <%@ und %> eingebettet sind:
<jsp:directive DirektivenName
Attribut1="Wert1" Attribut2="Wert2" ... Attributn="Wertn" />
| Direktive | Wirkung |
| include | Bindet externe Scripte (HTML) oder andere Informationen ein |
| language | Bezeichnet die verwendete Script-Sprache, z.B. java |
| method | Erlaubt es, die Standard-Methode service zu ändern in eine andere, z.B. doGet oder doPost |
| import | Gibt an, welche Klassen durch die JSP importiert werden sollen. Sie darf nur einmal benutzt werden. Ansonsten ist sie gleichbedeutend mit import java.* |
Durch die sogenannten Aktionen in JSP wird das Verhalten des Servlet-Containers verändert. So können externe Daten eingebunden werden, es kann auf externe Objekte verwiesen werden und Seiten können umgeleitet werden. Manche Aktionen werden mit Hilfe von XML-Anweisungen gestartet, für andere gibt es spezielle Tags. Dazu gehören jsp:include, jsp:forward, jsp:plugin, sowie jsp:useBean, jsp:setProperty und jsp:getProperty zur Benutzung von Java Bean. Eine Bean kann z.B. so aussehen:
public class Auto
{
public void setAuto( String typ )
{
Auto = typ;
}
public String getAuto()
{
return Auto;
}
private String Auto;
}
Innerhalb einer JSP kann ein Exemplar dieser Bean erzeugt werden:
<jsp:useBean id="beanname" class="Auto"/>
Diese Bean kann nun benutzt werden, indem ihre Eigenschaften abgefragt und geändert werden.
Um Java Server Pages zu entwickeln, zu testen und zu benutzen, ist das Produkt Tomcat gut geeignet, das von der Firma Apache angeboten wird. Tomcat kann als Stand-Alone-Anwendung, aber auch als Ergänzung zum Apache-Server eingebunden werden. Für JSP spielen Catalina und Jasper eine Rolle. Der Tomcat-Server kann unter http://jakarta.apache.org/tomcat heruntergeladen werden. Er ist auch integriert, wenn man als Entwicklungsumgebung JBuilder benutzt. Catalina ist dabei eine Art Oberprogramm, ausserdem für Servlets zuständig. Jasper regelt die JSP .