Post on 06-Apr-2015
ASP und JSP im Vergleich
Jürgen Knecht
Fachhochschule Gießen-FriedbergFachbereich MNI
28.05.2002 ASP und JSP im Vergleich 2
Übersicht
Java Server Pages Active Server Pages Vergleich beider Techniken
28.05.2002 ASP und JSP im Vergleich 3
Java Server Pages Überblick Konzeption Direktiven Aktionselemente Skriptelemente
Scriptlets Ausdrücke Deklarationen
28.05.2002 ASP und JSP im Vergleich 4
JSP - Überblick Technologie für die Programmierung von
Webseiten mit dynamischen Inhalten Erweiterung der Java Servlet Technologie Entwickelt von Sun Microsystems seit Juni 99 Baut auf Java auf und nutzt dessen gesamten
Funktionsumfang
28.05.2002 ASP und JSP im Vergleich 5
JSP - Vorraussetzungen
package javax.servlet.* (J2EE) funktionierende Java-Umgebung JSP/Servlet-Engine z.B. Tomcat Engine als Webserver-Bestandteil oder
Standalone
28.05.2002 ASP und JSP im Vergleich 6
JSP - Konzeption JSP Elemente werden in statisches HTML
eingebettet Dateien haben die Endung *.jsp Servlet Container wandelt JSP-Seiten in Servlets
um Durch JSP Elemente erzeugter Inhalt wird mit
statischem HTML verbunden und an den Client gesendet
28.05.2002 ASP und JSP im Vergleich 7
JSP - Konzeption
28.05.2002 ASP und JSP im Vergleich 8
JSP - Direktiven
Allgemeine Syntax:
<%@ direktiveName attribut1=„wert1“ attribut2=„wert2“ %>
Dienen zur Informationsübergabe an die JSP-Engine
Beispiel: <%@ page contentType=„text/html“ language=„java“ %>
28.05.2002 ASP und JSP im Vergleich 9
JSP – page Direktive page-Direktive übermittelt seitenspezifische
Informationen Wichtige Attribute:
language – Angabe der Skriptsprache import – Java-Import-Deklaration extends – Java-Extends Anweisung contentType – MIME-Typ der generierten Seite errorPage – wird bei Exceptions aufgerufen buffer – legt Größe des Zwischenspeichers fest session – Session-Management an/aus
28.05.2002 ASP und JSP im Vergleich 10
JSP – include Direktive
Fügt eine statische Datei ein wird vor Erstellung der Implementierungs-
klasse der JSP Seite eingefügt Darf mehrfach in einer JSP-Seite verwendet
werden Beispiel:
<%@ include file=„header.html“ %>
28.05.2002 ASP und JSP im Vergleich 11
JSP – taglib Direktive Deklariert eine in der Seite verwendete Taglib-
Bibliothek Ermöglicht den Einsatz benutzerdefinierter
Tags Attribute
prefix – Präfix für alle Elemente in der Bibliothek uri – Pfad zur Bibliotheksdatei
Beispiel: <% taglib uri=„bsptaglib“ prefix=„bsp“ %>
28.05.2002 ASP und JSP im Vergleich 12
JSP - Aktionselemente Werden bei Anforderung der Seite ausgeführt Sind in Form von XML-Elementen in die Seite
eingebettet Standardaktionselemente benutzerdefinierte Aktionselemente Besteht aus Start-Tag, Inhalt und End-Tag Beispiel:
<jsp:forward page=„naechsteSeite.jsp“ %><jsp:param name=„einParameter“ value=„einWert“ />
</jsp: forward>
28.05.2002 ASP und JSP im Vergleich 13
JSP Standard-Aktionselemente <jsp:forward>
leitet auf andere Seite oder Servlet weiter Beispiel: <jsp:forward page=„list.jsp“ />
<jsp:include> fügt Antwort aus anderer JSP-Seite, Servlet oder
statischen Dateien ein wird zur Anfragezeit ausgewertet
<jsp:param> Verwendung innerhalb von „forward“ oder „include“ gibt zusätzliche Anfrageparameter für die Ziel-
ressource an
28.05.2002 ASP und JSP im Vergleich 14
JSP Standard-Aktionselemente <jsp:plugin>
dient zum Einbinden von Java-Applets oder benannten Bean-Komponenten
unterstützt zahlreiche Attribute zur Applet-Konfiguration
<jsp:useBean> Ermöglicht Benutzung von Java-Beans
<jsp:setProperty> Legt den Wert einer oder mehrerer Bean-
Eigenschaften fest
28.05.2002 ASP und JSP im Vergleich 15
JSP - Skriptelemente Scriptlets
(Java)-Code-Block, der zwischen dem Start- <% und dem Ende-Kennzeichen %> eingeschlossen ist
Beispiel:<%@ page language=„java“ contentType=„text/html“ %><html> <body bgcolor=„white“><jsp:useBean id=„clock“ class=„java.util.Date“ /><% if (clock.getHours() < 12 { %>
Guten Morgen!<% } else if (clock.getHours() < 17 { %> Guten Abend!<% } else { %> Guten Abend!<% } %></body> </html>
28.05.2002 ASP und JSP im Vergleich 16
JSP - Skriptelemente Ausdrücke
Beginnen mit <%= und enden mit %> Ergebnis des Ausdrucks wird in den Antwort-Body
geschrieben Beispiel:
<%= userInfo.getUserName() %> Können zur dynamischen Angabe von Attributen
verwendet werden:<jsp:useBean id=„logEntry“ class=„com.foo.LogEntryBean“ /><jsp:setProperty name=„logEntry“ property=„entryTime“ value=„<%= new java.util.Date() %>“ />...
28.05.2002 ASP und JSP im Vergleich 17
JSP - Skriptelemente Deklarationen
Beginnen mit <%! und enden mit %> Ermöglichen globale Deklarationen In Scriptlets deklarierte Variablen enthalten dagegen
jeweils einen eigenen Wert für jede Anfrage Beispiel:
<%! int globalCounter = 0; %>
Alle Anfragen verwenden die Variable gemeinsam Kann zur Deklaration von Methoden verwendet
werden
28.05.2002 ASP und JSP im Vergleich 18
Implizite JSP-Objekte Instanzen von Klassen, die durch die Servlet-
und JSP-Spezifikationen definiert sind Werden durch JSP-Container bereitgestellt Folgende Objekte sind in jeder JSP-Seite
verfügbar: application: dient zum Zugriff auf Informationen über
die Anwendungsumgebung. Bsp.: getServerInfo() config: ermöglicht Zugriff auf Initialisierungs-
parameter der Web-Anwendung und den Context exception: in Fehlerseiten zur Fehlerbehandlung
verfügbar
28.05.2002 ASP und JSP im Vergleich 19
Implizite JSP-Objekte out: bietet Zugriff auf den Ausgabekanal des Servlets request: stellt zahlreiche Methoden zum Zugriff auf
Anfrage-parameter zur Verfügung response: stellt zahlreiche Methoden zum Zugriff auf
das in Servlets vorhandene Response-Objekt zur Verfügung
session: Referenz auf ein HttpSession-Objekt, welches die Steuerung einer Session ermöglicht
Active Server Pages
Eine kurze Einführung
28.05.2002 ASP und JSP im Vergleich 21
ASP - Überblick
Produkt der Firma Microsoft Zielsetzung Aufbau und Konzeption ähnlich JSP Läuft ausschließlich auf dem Microsoft Internet
Information Server Verwendet als Scriptsprache VBScript oder
Jscript. Andere Scriptsprachen sind möglich Dateierweiterung ist *.asp
28.05.2002 ASP und JSP im Vergleich 22
ASP - Vorraussetzungen Hardware:
Mindestens Pentium 100 Mindestens 32 MB Arbeitsspeicher Mindestens 100 MB Festplattenspeicher
Software Windows 95/98/ME/NT/2000/XP Personal Web Server oder IIS
28.05.2002 ASP und JSP im Vergleich 23
ASP - Grundlagen Spezifikation der verwendeten Scriptsprache:
<%@ language="javascript" %> Scriptelemente wie bei JSP begrenzt durch <%
und %> globale Variablen werden außerhalb einer
Prozedur deklariert und lokale innerhalb Speicherung von Session- und Application-
Variablen möglich Statische Includes in ASP gleichen SSI‘s:
<!--#include file(virtual)=„header.inc"-->
28.05.2002 ASP und JSP im Vergleich 24
ASP - Grundlagen Ausdrücke werden wie bei JSP von <%= und
%> begrenzt Verwendung von Ausdrücken als Attributwerte
ebenfalls möglich Optionale Datei „global.asa“
Ermöglicht Deklaration von Objekten und Variablen Application-Events
Application_OnStart Application_OnEnd
Session-Events Session_OnStart Session_OnEnd
28.05.2002 ASP und JSP im Vergleich 25
ASP Objekte Analog zu JSP gibt es die folgenden impliziten
Objekte mit ähnlicher Funktionsweise: Response, Request, Application, Session, Server,
Error Zusätzliche Objekte:
FileSystem – Zugriff auf das Dateisystem TextStream – Zugriff auf Textdateien Drive – Zugriff auf Informationen über Dateisysteme File – Zugriff auf Informationen über einzelne Dateien Folder – Informationen über einzelne Ordner Dictionary – Speichern von Attributname/Wert-Paaren
28.05.2002 ASP und JSP im Vergleich 26
ASP Components AdRotator
Erzeugt ein AdRotator Objekt, welches sich bei jedem Aufruf oder Refresh der Seite ändert
Browser Capabilities Erzeugt ein BrowserType Objekt, welches den Typ,
die Fähigkeiten und die Version des Client-Browsers ermittelt
Content Linking Erzeugung eines einfachen Navigationssystems
Content Rotator Content, welcher sich bei jedem Aufruf ändert
Vergleich beider Techniken
Unterschiede der konkurrierenden Techniken im Überblick
28.05.2002 ASP und JSP im Vergleich 28
Gross- und Kleinschreibung ASP
Dim intCounter
'dies ist dieselbe Variableintcounter = 0 ‚
Schreibweise in ASP spielt keine Rolle
IF intCOUNTER = 0 then Response.Write("erster")Else Response.Write("weitere")EnD iF
JSP int intCounter;
//Gross- und Kleinschrift muss stimmen
intCounter = 0; //Schlüsselwörter sind in Java immer kleinif (intCounter == 0) { out.println("erster");} else { out.println("weitere");}
28.05.2002 ASP und JSP im Vergleich 29
Statement Abschluss ASP
‚einzeiliges Statement‘intcounter = 0
‚mehrzeiliges Statement‘Response.Write("<p>" & strvorname _ & " " & strname & "</p>" & vbCrLf)
JSP //einzeiliges Statement
intCounter = 0;
//mehrzeiliges Statementout.println("<p>" + strVorname + " " + strName + "</p>");
28.05.2002 ASP und JSP im Vergleich 30
Operationszeichen
ASP = <> AND NOT
JSP == !“ && !
28.05.2002 ASP und JSP im Vergleich 31
Bedingungen
ASP If sngzufallszahl < 0.5
Then Response.Write("kleiner")Else Response.Write("grösser")End If
JSP if (sngZufallszahl < 0.5)
{ out.println("kleiner");} else { out.println("grösser");}
28.05.2002 ASP und JSP im Vergleich 32
Mehrfachverzweigungen ASP
Select Case dattimeofday Case 0 Response.Write("So früh?" & _ "<br />" & vbCrLf) Case 1 Response.Write("Guten Morgen" & _ "<br />" & vbCrLf) Case 2 Response.Write("Guten " & _ "Nachmittag<br />" & vbCrLf) Case 3 Response.Write("Guten " & _ "Abend<br />" & vbCrLf) Case Else Response.Write("Sie leben " & _ zeitlos!<br />" & vbCrLf)End Select
JSP switch(datTimeofday) {
case 0: out.println("So früh?<br />"); break; case 1: out.println("Guten Morgen<br />"); break; case 2: out.println("Guten Nachmittag!<br />"); break; case 3: out.println("Guten Abend<br />"); break; default: out.println("Sie leben zeitlos!<br />"); break;}
28.05.2002 ASP und JSP im Vergleich 33
Vergleich mit Strings
ASP If strText = "Bild" Then
..End If
JSP If
(strText.equals("Bild") { ..}
28.05.2002 ASP und JSP im Vergleich 34
Features im Vergleich
ASP JSP
Web ServerMicrosoft IIS oder PersonalWebServer
Apache, Netscape, IIS und andere
Plattformen Microsoft WindowsSolaris, Windows, Mac OS, Linux, etc.
Wiederverwendbare plattformübergrei-fende Komponenten
NeinJavaBeans, Enterprise JavaBeans, custom JSP tags
Scriptsprachen VBScript, JScript Java
Benutzerdefinierte Tags
Nein Ja
28.05.2002 ASP und JSP im Vergleich 35
Features im Vergleich
ASP JSP
Datenbank Anbindung
Ja (COM) Ja (JDBC API)
unterstützte Datenquellen
ODBC ODBC und JDBC
Komponenten COM KomponentenJavaBeans, Enterprise JavaBeans, custom JSP tags
28.05.2002 ASP und JSP im Vergleich 36
ENDE