Zurück Vor


JavaServer PagesTM (JSP)

Michael Grünewald

JSP im engen Sinne:

Sind eine Erweiterung des Befehlssatzes von HTML oder XML, die es ermöglichen auf einfache Art und Weise mit anderen Programmen (mit einer Java-Schnitstelle z.B.: JDBC ) insbesondere JavaBeans und Servlets zu kommunizieren, aber auch andere Dateien mit einzubinden.

Alle Befehle in Form von sogenannten Tags bleiben dem User/Browser verborgen, da sie vor der eigentlichen Übertragung vom Server ausgewertet werden.
Manche Tags erlauben auch eine Scriptsprache zu verwenden. Diese ist frei wählbar und gehört nicht direkt zur Spezifikation von JSP.
Diese Definitionen stellen aber nur ein kleines Grundgerüst dar und können von jedem Entwickler durch die Spezifikation von sogenannten Tag-Libraries erweitert werden. Der Standard definiert hauptsächlich nur die Syntax-Regeln.

Zudem werden einige implizite Objekte zu Verfügung gestellt, die aber Java als Script-Sprache nahelegt.
Sessionfäigkeit wird bisher nur mit Hilfe von Cookies realisiert.

JSP im weiten Sinne:

Einsatzgebiete JSP

JSP stellen in erster Linie eine weitere Möglichkeit dar um CGI-Scripte ( Common Gate Inerface ) zu implementieren.

Vorteile gegenüber herkömlichen CGI-Skripten

Nachteile

Verarbeitung auf dem Server


Verarbeitung eines Request und den Ablauf der Generierung eines Response.

Servlets

Servlets sind Java-Programme,die auf dem Server als .class-Files liegen und dort ablaufen. Daher haben Sie Zugriff auf allen Resourcen des Server, falls die VM dies erlaubt. Sie haben keine GUI und erzeugen quasi Text-Dateien (z.B.: html), die dann an Client zurueckgeschick werden. Zugreifen auf Daten koennen sie mittels HttpServletRequest- und HttpServletResponse-Objekten. Und implementieren void doGet( HttpServletRequest, HttpServletResponse) und/oder void doPost( HttpServletRequest, HttpServletResponse).
Servlets die sich nicht auf das Http-Protokoll beziehen überschreiben service(servletRequest, ServletResponse) Ebenso gibt es init(Servletconfig) und destroy() Methoden. Servlets müssen Multithread fähig sein.

Zwar werden JSP als Servlet ausgeführt, doch ist es nicht notwendig JSP mit Servlet zu kombinieren.

Beans

Beans sind Java-Programme,die auf dem Server als .class-Files liegen und dort ablaufen. Sie stellen einen gewissen Dienst zur Verfügung. Im Gegensatz zu Servlets haben sie keine allgemein gültige standardisierte Schnittstelle. Aufruf erfolgt i.d.R. mittels RMI, CORBA oder Sockets.