Präsentationsfolien - Homepage

Werbung
ASP und JSP im Vergleich
Jürgen Knecht
Fachhochschule Gießen-Friedberg
Fachbereich MNI
Übersicht
 Java Server Pages
 Active Server Pages
 Vergleich beider Techniken
28.05.2002
ASP und JSP im Vergleich
2
Java Server Pages





Überblick
Konzeption
Direktiven
Aktionselemente
Skriptelemente
 Scriptlets
 Ausdrücke
 Deklarationen
28.05.2002
ASP und JSP im Vergleich
3
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
4
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
5
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
6
JSP - Konzeption
28.05.2002
ASP und JSP im Vergleich
7
JSP - Direktiven
 Allgemeine Syntax:
<%@ direktiveName attribut1=„wert1“ attribut2=„wert2“ %>
 Dienen zur Informationsübergabe an die JSPEngine
 Beispiel:
<%@ page contentType=„text/html“ language=„java“ %>
28.05.2002
ASP und JSP im Vergleich
8
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
9
JSP – include Direktive
 Fügt eine statische Datei ein
 wird vor Erstellung der Implementierungsklasse 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
10
JSP – taglib Direktive
 Deklariert eine in der Seite verwendete TaglibBibliothek
 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
11
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
12
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 Zielressource an
28.05.2002
ASP und JSP im Vergleich
13
JSP Standard-Aktionselemente
 <jsp:plugin>
 dient zum Einbinden von Java-Applets oder
benannten Bean-Komponenten
 unterstützt zahlreiche Attribute zur AppletKonfiguration
 <jsp:useBean>
 Ermöglicht Benutzung von Java-Beans
 <jsp:setProperty>
 Legt den Wert einer oder mehrerer BeanEigenschaften fest
28.05.2002
ASP und JSP im Vergleich
14
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
15
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
16
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
17
Implizite JSP-Objekte
 Instanzen von Klassen, die durch die Servletund 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 Initialisierungsparameter der Web-Anwendung und den Context
 exception: in Fehlerseiten zur Fehlerbehandlung
verfügbar
28.05.2002
ASP und JSP im Vergleich
18
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
28.05.2002
ASP und JSP im Vergleich
19
Active Server Pages
Eine kurze Einführung
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
21
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
22
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 ApplicationVariablen möglich
 Statische Includes in ASP gleichen SSI‘s:
<!--#include file(virtual)=„header.inc"-->
28.05.2002
ASP und JSP im Vergleich
23
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
24
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/WertPaaren
28.05.2002
ASP und JSP im Vergleich
25
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
28.05.2002
ASP und JSP im Vergleich
26
Vergleich beider Techniken
Unterschiede der konkurrierenden Techniken im
Überblick
Gross- und Kleinschreibung
 ASP

 JSP
Dim intCounter

int intCounter;
'dies ist dieselbe Variable
intcounter = 0 ‚
//Gross- und Kleinschrift
muss stimmen
Schreibweise in ASP spielt
keine Rolle
intCounter = 0;
//Schlüsselwörter sind in
Java immer klein
if (intCounter == 0) {
out.println("erster");
} else {
out.println("weitere");
}
IF intCOUNTER = 0 then
Response.Write("erster")
Else
Response.Write("weitere")
EnD iF
28.05.2002
ASP und JSP im Vergleich
28
Statement Abschluss
 ASP
 JSP

‚einzeiliges Statement‘
intcounter = 0

//einzeiliges Statement
intCounter = 0;

‚mehrzeiliges Statement‘
Response.Write("<p>" &
strvorname _
& " " & strname &
"</p>" & vbCrLf)

//mehrzeiliges Statement
out.println("<p>" +
strVorname
+ " " + strName +
"</p>");
28.05.2002
ASP und JSP im Vergleich
29
Operationszeichen
 ASP




=
<>
AND
NOT
28.05.2002
 JSP




ASP und JSP im Vergleich
==
!“
&&
!
30
Bedingungen
 ASP

 JSP
If sngzufallszahl < 0.5 Then
Response.Write("kleiner")
Else
Response.Write("grösser")
End If
28.05.2002

ASP und JSP im Vergleich
if (sngZufallszahl < 0.5) {
out.println("kleiner");
} else {
out.println("grösser");
}
31
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
28.05.2002
JSP

ASP und JSP im Vergleich
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;
}
32
Vergleich mit Strings
 ASP

 JSP
If strText = "Bild" Then
..
End If
28.05.2002

ASP und JSP im Vergleich
If (strText.equals("Bild") {
..
}
33
Features im Vergleich
ASP
JSP
Web Server
Microsoft IIS oder
PersonalWebServer
Apache, Netscape, IIS
und andere
Plattformen
Microsoft Windows
Solaris, Windows, Mac
OS, Linux, etc.
Wiederverwendbare
plattformübergreifende Komponenten
Nein
JavaBeans, Enterprise
JavaBeans, custom
JSP tags
Scriptsprachen
VBScript, JScript
Java
Benutzerdefinierte
Tags
Nein
Ja
28.05.2002
ASP und JSP im Vergleich
34
Features im Vergleich
ASP
JSP
Datenbank
Anbindung
Ja (COM)
Ja (JDBC API)
unterstützte
Datenquellen
ODBC
ODBC und JDBC
COM Komponenten
JavaBeans, Enterprise
JavaBeans, custom
JSP tags
Komponenten
28.05.2002
ASP und JSP im Vergleich
35
ENDE
28.05.2002
ASP und JSP im Vergleich
36
Herunterladen