einführung in java enterprise edition 5 (java ee 5) · einführung web-anwendungen mit java ee...
Post on 05-Nov-2019
11 Views
Preview:
TRANSCRIPT
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Einführung in Java Enterprise Edition 5(Java EE 5)
Dirk Wischermann Marc Spisländer
Friedrich-Alexander-Universität Erlangen-Nürnberg
30. April 2007
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Gliederung
1 Einführung
2 Web-Anwendungen mit Java EEServletsJava ServerPages
3 Enterprise JavaBeans
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java EE
Java EE 5 beschreibt eine Infrastruktur bzw. ein Framework, diefolgendes erleichtern soll:
Entwicklung von mehrschichtigen AnwendungenKommunikation zwischen verteilten Objekten (d.h.zwischen Objekten aus verschiedenen Adressräumen)Objektpersistenz
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java EELiteratur
http://java.sun.com/javaee/5/docs/tutorial/doc/
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java-EE-Anwendungen
Eine Java EE Anwendung besteht aus einer Menge von client-und serverseitigen Komponenten:
Serverseitig:Enterprise JavaBeansServlets und Java ServerPages
Clientseitig:HypertextformulareJava-AppletsStandard-Java-Anwendungen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java-EE-Anwendungen
Eine Java EE Anwendung besteht aus einer Menge von client-und serverseitigen Komponenten:
Serverseitig:Enterprise JavaBeansServlets und Java ServerPages
Clientseitig:HypertextformulareJava-AppletsStandard-Java-Anwendungen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java EE Containers
Containers sind Umgebungen, in denen die Java=ËE-Komponenten ausgeführt werden.Sie steuern den Lebenszyklus der Komponenten.Sie übernehmen Low-Level-Aufgaben, wie z. B. dieKommunikation zwischen Komponenten über Netzwerken,Verwaltung von Zugriffsrechten oder die Realisierung derObjektpersistenz.
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java EE 5Konzeptionelle Sicht
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Erstellung von Java-EE-Anwendungen
Arbeitsschritte
1 Java-EE-Server starten2 Programmierung der EE-Komponenten in geeigneten
Entwicklungsumgebungen3 Komponenten als Archiv komprimieren4 Archiv auf Server aufspielen (Deployment)
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Erstellung von Java-EE-Anwendungen
Arbeitsschritte
1 Java-EE-Server starten2 Programmierung der EE-Komponenten in geeigneten
Entwicklungsumgebungen3 Komponenten als Archiv komprimieren4 Archiv auf Server aufspielen (Deployment)
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Erstellung von Java-EE-Anwendungen
Arbeitsschritte
1 Java-EE-Server starten2 Programmierung der EE-Komponenten in geeigneten
Entwicklungsumgebungen3 Komponenten als Archiv komprimieren4 Archiv auf Server aufspielen (Deployment)
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Erstellung von Java-EE-Anwendungen
Arbeitsschritte
1 Java-EE-Server starten2 Programmierung der EE-Komponenten in geeigneten
Entwicklungsumgebungen3 Komponenten als Archiv komprimieren4 Archiv auf Server aufspielen (Deployment)
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Web-Anwendungen mit Java EE
Eine Web-Anwendung ist eine Anwendung, die ihreEingabe als HTTP-Request erwartet und die Ausgabe(typischerweise) als HTML generiert.Realisierung mit Java EE mittels Servlets oder JavaServerPages
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlets
Ein Servlet ist eine Komponente, die aus einer Java-Klasseund einer XML-Beschreibung besteht.Die Java-Klasse erweitert javax.servlet.http.HttpServlet.Wichtigste Methoden:
doGet(HttpServletRequest r, HttpServletResponse a)doPost(HttpServletRequest r, HttpServletResponse a)
Sie werden von dem Application-Server bei einerHTTP-GET- bzw. HTTP-POST-Anfrage aufgerufena kapselt die HTTP-Anfrager kapselt die HTTP-Antwort
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlets
Ein Servlet ist eine Komponente, die aus einer Java-Klasseund einer XML-Beschreibung besteht.Die Java-Klasse erweitert javax.servlet.http.HttpServlet.Wichtigste Methoden:
doGet(HttpServletRequest r, HttpServletResponse a)doPost(HttpServletRequest r, HttpServletResponse a)
Sie werden von dem Application-Server bei einerHTTP-GET- bzw. HTTP-POST-Anfrage aufgerufena kapselt die HTTP-Anfrager kapselt die HTTP-Antwort
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlets
Ein Servlet ist eine Komponente, die aus einer Java-Klasseund einer XML-Beschreibung besteht.Die Java-Klasse erweitert javax.servlet.http.HttpServlet.Wichtigste Methoden:
doGet(HttpServletRequest r, HttpServletResponse a)doPost(HttpServletRequest r, HttpServletResponse a)
Sie werden von dem Application-Server bei einerHTTP-GET- bzw. HTTP-POST-Anfrage aufgerufena kapselt die HTTP-Anfrager kapselt die HTTP-Antwort
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlets
Ein Servlet ist eine Komponente, die aus einer Java-Klasseund einer XML-Beschreibung besteht.Die Java-Klasse erweitert javax.servlet.http.HttpServlet.Wichtigste Methoden:
doGet(HttpServletRequest r, HttpServletResponse a)doPost(HttpServletRequest r, HttpServletResponse a)
Sie werden von dem Application-Server bei einerHTTP-GET- bzw. HTTP-POST-Anfrage aufgerufena kapselt die HTTP-Anfrager kapselt die HTTP-Antwort
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlets
Ein Servlet ist eine Komponente, die aus einer Java-Klasseund einer XML-Beschreibung besteht.Die Java-Klasse erweitert javax.servlet.http.HttpServlet.Wichtigste Methoden:
doGet(HttpServletRequest r, HttpServletResponse a)doPost(HttpServletRequest r, HttpServletResponse a)
Sie werden von dem Application-Server bei einerHTTP-GET- bzw. HTTP-POST-Anfrage aufgerufena kapselt die HTTP-Anfrager kapselt die HTTP-Antwort
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlets
Ein Servlet ist eine Komponente, die aus einer Java-Klasseund einer XML-Beschreibung besteht.Die Java-Klasse erweitert javax.servlet.http.HttpServlet.Wichtigste Methoden:
doGet(HttpServletRequest r, HttpServletResponse a)doPost(HttpServletRequest r, HttpServletResponse a)
Sie werden von dem Application-Server bei einerHTTP-GET- bzw. HTTP-POST-Anfrage aufgerufena kapselt die HTTP-Anfrager kapselt die HTTP-Antwort
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielQuadratische Gleichungen lösen
Arbeitsschritte
1 HTML-Seite für die Eingabe auf der Clientseite erstellen2 Servlet erstellen, um die Eingabe auf der Serverseite zu
lesen und die Antwort zu generieren3 HTML-Seite und Servlet als Archiv komprimieren4 Deployment des Archivs
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielQuadratische Gleichungen lösen
Arbeitsschritte
1 HTML-Seite für die Eingabe auf der Clientseite erstellen2 Servlet erstellen, um die Eingabe auf der Serverseite zu
lesen und die Antwort zu generieren3 HTML-Seite und Servlet als Archiv komprimieren4 Deployment des Archivs
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielQuadratische Gleichungen lösen
Arbeitsschritte
1 HTML-Seite für die Eingabe auf der Clientseite erstellen2 Servlet erstellen, um die Eingabe auf der Serverseite zu
lesen und die Antwort zu generieren3 HTML-Seite und Servlet als Archiv komprimieren4 Deployment des Archivs
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielQuadratische Gleichungen lösen
Arbeitsschritte
1 HTML-Seite für die Eingabe auf der Clientseite erstellen2 Servlet erstellen, um die Eingabe auf der Serverseite zu
lesen und die Antwort zu generieren3 HTML-Seite und Servlet als Archiv komprimieren4 Deployment des Archivs
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielHTML-Eingabeseite erstellen
. . .<body>
<h1>Lö ; sen von quadrat ischen Gleichungen< / h1><p>a· ; x² ; + b· ; x + c = 0< / p><form action=" So lve rServ le t ">
<p>a = < input name=" a " type=" t e x t " size=" 3 " / >< / p><p>b = < input name=" b " type=" t e x t " size=" 3 " / >< / p><p>c = < input name=" c " type=" t e x t " size=" 3 " / >< / p><p>c = < input type=" submit " / >< / p>
< / form>< / body>. . .
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielHTML-Eingabeseite erstellen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielServlet-Klasse erstellen
public class Quadrat icEquat ionSolver extends Ht tpSe rv l e t {. . .public void doGet ( Ht tpServ le tRequest request , HttpServletResponse response )
throws Serv le tExcept ion , IOExcept ion {
/ / Parameter lesen (Ohne Behandlung der NumberFormatException)double a = Double . parseDouble ( request.getParameter(" a") ) ;double b = Double . parseDouble ( request.getParameter("b") ) ;double c = Double . parseDouble ( request.getParameter("c") ) ;double d i s c r = b∗b − 4.0∗a∗c ;
S t r i n g msg = " x & i s i n ; { " ;i f ( d i s c r >= 0.0 && a != 0 .0 ) {
double x1 = (−b + Math . s q r t ( d i s c r ) ) / (2∗a ) ;double x2 = (−b − Math . s q r t ( d i s c r ) ) / (2∗a ) ;i f ( x1 == x2 )
msg += Double . t o S t r i n g ( x1 ) + " } " ;else
msg += Double . t o S t r i n g ( x1 ) + " , " + Double . t o S t r i n g ( x2 ) + " } " ;}else
msg = " Gleichung " + ( ( a==0.0) ? " i s t n i c h t quadra t isch . " : " hat keine Lö ; sung . " ) ;
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielServlet-Klasse erstellen (Fortsetzung)
/ / HTML−Antwort gener ierenresponse . setContentType ( " t e x t / html " ) ;
P r i n t W r i t e r out = response . ge tWr i t e r ( ) ;out . p r i n t l n ( "<html ><head>" ) ;out . p r i n t l n ( "< t i t l e >Quadrat ische Gleichungen l ö ; sen </ t i t l e > " ) ;out . p r i n t l n ( " </head>" ) ;out . p r i n t l n ( "<body>" ) ;out . p r i n t l n ( "<h1>Lö ; sen von quadrat ischen Gleichungen </h1>" ) ;out . p r i n t l n ( "<p>"+a+"· ; x² ;+ "+b+"· ; x+ "+c+" = 0 </p>" ) ;out . p r i n t l n ( "<p>" + msg + " </p>" ) ;out . p r i n t l n ( " </body > </ html > " ) ;out . c lose ( ) ;
}}
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielServlet-Beschreibung erstellen (web.xml)
<?xml version=" 1.0 " encoding="UTF−8" ?><web−app version=" 2.5 "
xmlns=" h t t p : / / java . sun . com/ xml / ns / javaee "xmlns :xs i= " h t t p : / /www.w3 . org /2001/XMLSchema−i ns tance "xs i :schemaLocat ion=" h t t p : / / java . sun . com/ xml / ns / javaee h t t p : / / java . sun . com/ xml / ns / javaee / web−app_2_5 . xsd ">
< d i s t r i b u t a b l e / >
< s e r v l e t ><d isp lay−name>Quadrat ic Equation Solver< / d isp lay−name>< se rv l e t−name>Quadrat icEquat ionSolver< / se r v l e t−name>< se rv l e t−c lass> j a v a e e i n t r o d u c t i o n . Quadrat icEquat ionSolver< / s e r v l e t−c lass>
< / s e r v l e t >
< se rv l e t−mapping>< se rv l e t−name>Quadrat icEquat ionSolver< / se r v l e t−name>< u r l−pa t t e rn > / So l ve rServ le t < / u r l−pa t t e rn >
< / se r v l e t−mapping>
< / web−app>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielWeb-Archiv erstellen (WAR-Archiv)
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielApplication-Archiv erstellen (EAR-Archiv)
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielApplikation aufspielen (Deployment)
Deployment abhängig von ServerimplementierungIm Fall von Glassfish oder JBoss: Kopie des EAR-Archivesin einem besonderen Verzeichnis speichern
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
Servlet-BeispielApplikation aufspielen (Deployment)
Deployment abhängig von ServerimplementierungIm Fall von Glassfish oder JBoss: Kopie des EAR-Archivesin einem besonderen Verzeichnis speichern
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
ServletsWeiterführende Möglichkeiten
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Servlets
ServletsLiteratur
http:
//jcp.org/aboutJava/communityprocess/final/jsr154/index.html
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JavaServer Pages (JSP)
JavaServer Pages sind eine bequeme Alternative zuServlets.web.xml nicht notwendigEine JSP-Seite beschreibt gleichzeitig den statischen unddynamischen Inhalt eines Textdokumentes.Vergleichbar mit PHP
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JavaServer Pages (JSP)
JavaServer Pages sind eine bequeme Alternative zuServlets.web.xml nicht notwendigEine JSP-Seite beschreibt gleichzeitig den statischen unddynamischen Inhalt eines Textdokumentes.Vergleichbar mit PHP
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JavaServer Pages (JSP)
JavaServer Pages sind eine bequeme Alternative zuServlets.web.xml nicht notwendigEine JSP-Seite beschreibt gleichzeitig den statischen unddynamischen Inhalt eines Textdokumentes.Vergleichbar mit PHP
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JavaServer Pages (JSP)
JavaServer Pages sind eine bequeme Alternative zuServlets.web.xml nicht notwendigEine JSP-Seite beschreibt gleichzeitig den statischen unddynamischen Inhalt eines Textdokumentes.Vergleichbar mit PHP
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-BeispielQuadratische Gleichungen lösen
Arbeitsschritte
1 Servlet aus vorherigem Beispiel durch JSP-Seite ersetzen2 HTML-Seite für die Clientseite anpassen3 WAR-Archiv erstellen4 EAR-Archiv analog zu den Servlets erstellen und auf
Server aufspielen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-BeispielQuadratische Gleichungen lösen
Arbeitsschritte
1 Servlet aus vorherigem Beispiel durch JSP-Seite ersetzen2 HTML-Seite für die Clientseite anpassen3 WAR-Archiv erstellen4 EAR-Archiv analog zu den Servlets erstellen und auf
Server aufspielen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-BeispielQuadratische Gleichungen lösen
Arbeitsschritte
1 Servlet aus vorherigem Beispiel durch JSP-Seite ersetzen2 HTML-Seite für die Clientseite anpassen3 WAR-Archiv erstellen4 EAR-Archiv analog zu den Servlets erstellen und auf
Server aufspielen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-BeispielQuadratische Gleichungen lösen
Arbeitsschritte
1 Servlet aus vorherigem Beispiel durch JSP-Seite ersetzen2 HTML-Seite für die Clientseite anpassen3 WAR-Archiv erstellen4 EAR-Archiv analog zu den Servlets erstellen und auf
Server aufspielen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-BeispielJSP-Seite erstellen (result.jsp)
<%@ page contentType=" t e x t / html ; charset=UTF−8" %>
<%!p u b l i c S t r i n g getMessage ( ) {
/ / Parameter lesen (Ohne Behandlung der NumberFormatException )double a = Double . parseDouble ( request . getParameter ( " a " ) ) ;double b = Double . parseDouble ( request . getParameter ( " b " ) ) ;double c = Double . parseDouble ( request . getParameter ( " c " ) ) ;double d i s c r = b∗b − 4.0∗a∗c ;
S t r i n g msg = " x & i s i n ; { " ;i f ( d i s c r >= 0.0 && a != 0 .0 ) {
double x1 = (−b + Math . s q r t ( d i s c r ) ) / (2∗a ) ;double x2 = (−b − Math . s q r t ( d i s c r ) ) / (2∗a ) ;i f ( x1 == x2 )
msg += Double . t o S t r i n g ( x1 ) + " } " ;e lse
msg += Double . t o S t r i n g ( x1 ) + " , " + Double . t o S t r i n g ( x2 ) + " } " ;}e lse
msg = " Gleichung " + ( ( a==0.0) ? " i s t n i c h t quadra t isch . " : " hat keine Lö ; sung . " ) ;
r e t u r n msg ;}
%>Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-BeispielJSP-Seite erstellen (Fortsetzung)
<html xmlns=" h t t p : / /www.w3 . org /1999/ xhtml "><head>
< t i t l e >Quadrat ische Gleichungen l ö ; sen< / t i t l e >< / head><body>
<h1>Lö ; sen von quadrat ischen Gleichungen< / h1><p><%= request . getParameter ( " a " ) %>· ; x² ; +
<%= request . getParameter ( " b " ) %>· ; x +<%= request . getParameter ( " c " ) %> = 0
< / p><p><%= getMessage ( request ) %>< / p>
< / body>< / html>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-BeispielHTML-Seite anpassen
. . .<body>
<h1>Lö ; sen von quadrat ischen Gleichungen< / h1><p>a· ; x² ; + b· ; x + c = 0< / p>
<form ac t i on =" result.jsp "><p>a = < inpu t name=" a " type=" t e x t " s i ze=" 3 " / >< / p><p>b = < inpu t name=" b " type=" t e x t " s i ze=" 3 " / >< / p><p>c = < inpu t name=" c " type=" t e x t " s i ze=" 3 " / >< / p><p>c = < inpu t type=" submit " / >< / p>
< / form>< / body>. . .
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-BeispielWAR-Archiv erstellen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Beispiel verbessern
JSP-Beispiel bietet keine wesentlichen Vorteile imVergleich zum Servlet-Beispiel.Verbesserung durch Trennung der HTML-Generierung vonder algorithmischen Berechnung des Problems
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Beispiel verbessern
JSP-Beispiel bietet keine wesentlichen Vorteile imVergleich zum Servlet-Beispiel.Verbesserung durch Trennung der HTML-Generierung vonder algorithmischen Berechnung des Problems
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Beispiel verbessernSchritt 1: JavaBean für die Berechnung erstellen
p u b l i c c lass Quadrat icEqSolver {p r i v a t e double a , b , c ;
p u b l i c double getA ( ) { r e t u r n a ; }p u b l i c vo id setA ( double a ) { t h i s . a = a ; }p u b l i c double getB ( ) { r e t u r n b ; }p u b l i c vo id setB ( double b ) { t h i s . b = b ; }p u b l i c double getC ( ) { r e t u r n c ; }p u b l i c vo id setC ( double c ) { t h i s . c = c ; }
p u b l i c Set<Double> ge tSo lu t i ons ( ) {Set<Double> r e s u l t = new HashSet<Double> ( ) ;double d i s c r = b∗b − 4.0∗a∗c ;
i f ( d i s c r >= 0.0 && a != 0 .0 ) {double x1 = (−b + Math . s q r t ( d i s c r ) ) / (2∗a ) ;double x2 = (−b − Math . s q r t ( d i s c r ) ) / (2∗a ) ;r e s u l t . add ( x1 ) ;r e s u l t . add ( x2 ) ;
}
r e t u r n r e s u l t ;}
}
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Beispiel verbessernSchritt 2: JSP-Seite von Java-Code bereinigen
<?xml version=" 1.0 " encoding="UTF−8" ?><%@ page language=" java " contentType=" t e x t / html ; charset=UTF−8" pageEncoding="UTF−8"%>
<%@ t a g l i b u r i = " h t t p : / / java . sun . com/ j sp / j s t l / core " p r e f i x = " c " %>
<jsp:useBean i d =" so l ve r " c lass=" Quadrat icEqSolver " / >< j s p : s e t P r o p e r t y name=" so l ve r " p roper ty= "∗" / >
<html xmlns=" h t t p : / /www.w3 . org /1999/ xhtml "><head>
< t i t l e >Quadrat ische Gleichungen l ö ; sen< / t i t l e >< / head>
<body><h1>Lö ; sen von quadrat ischen Gleichungen< / h1><p>
< j s p : g e t P r o p e r t y name=" so l ve r " p roper ty= " a " / >· ; x² ; +< j s p : g e t P r o p e r t y name=" so l ve r " p roper ty= " b " / >· ; x +< j s p : g e t P r o p e r t y name=" so l ve r " p roper ty= " c " / > = 0
< / p>< / body>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Beispiel verbessernSchritt 2: JSP-Seite von Java-Code bereinigen (Fortsetzung)
<p><c:choose>
<c:when t e s t = " ${ so l ve r . a == 0} ">Gleichung i s t n i c h t quadra t isch .
< / c:when><c :o the rw ise>
<c:choose><c:when t e s t = " ${ empty so l ve r . s o l u t i o n s } ">
Gleichung hat keine Lä ; sung !< / c:when><c :o the rw ise>
x & i s i n ; {<c : fo rEach i tems=" ${ so l ve r . s o l u t i o n s } " var= " s o l u t i o n " varSta tus=" i t e r S t a t u s ">
${ s o l u t i o n } < c : i f t e s t = " ${ not i t e r S t a t u s . l a s t } "> , < / c : i f >< / c : fo rEach>}
< / c :o the rw ise>< / c:choose>
< / c :o the rw ise>< / c:choose>
< / p>< / body>< / html>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Beispiel verbessernSchritt 3: Bean-Klasse in WAR-Archiv aufnehmen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Konstrukte
TextDirektivenAktionenScripting-Elemente
DeklarationenScriptletsAusdrücke
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Konstrukte
TextDirektivenAktionenScripting-Elemente
DeklarationenScriptletsAusdrücke
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Konstrukte
TextDirektivenAktionenScripting-Elemente
DeklarationenScriptletsAusdrücke
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-Konstrukte
TextDirektivenAktionenScripting-Elemente
DeklarationenScriptletsAusdrücke
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteDirektiven
Legen Eigenschaften der JSP-Seite fest, die unabhängigvon Benutzeranfragen (Requests) sind.Syntax: <%@ name ... %>Beispiele:
<%@ page language="java"contentType="text/html; charset=UTF−8"%><%@ taglib uri="http: // java.sun.com/jsp/ jstl /core" prefix="c" %>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteDirektiven
Legen Eigenschaften der JSP-Seite fest, die unabhängigvon Benutzeranfragen (Requests) sind.Syntax: <%@ name ... %>Beispiele:
<%@ page language="java"contentType="text/html; charset=UTF−8"%><%@ taglib uri="http: // java.sun.com/jsp/ jstl /core" prefix="c" %>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteDirektiven
Legen Eigenschaften der JSP-Seite fest, die unabhängigvon Benutzeranfragen (Requests) sind.Syntax: <%@ name ... %>Beispiele:
<%@ page language="java"contentType="text/html; charset=UTF−8"%><%@ taglib uri="http: // java.sun.com/jsp/ jstl /core" prefix="c" %>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteAktionen
Semantik der Aktionen sind abhängig von Requests.XML-Syntax (Tag, Abschlusstag, Attribute)Es gibt Standard-Aktionen und benutzerdefinierte AktionenBenutzerdefinierte Aktionen über taglib-Direktivenimportieren
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteAktionen
Semantik der Aktionen sind abhängig von Requests.XML-Syntax (Tag, Abschlusstag, Attribute)Es gibt Standard-Aktionen und benutzerdefinierte AktionenBenutzerdefinierte Aktionen über taglib-Direktivenimportieren
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteAktionen
Semantik der Aktionen sind abhängig von Requests.XML-Syntax (Tag, Abschlusstag, Attribute)Es gibt Standard-Aktionen und benutzerdefinierte AktionenBenutzerdefinierte Aktionen über taglib-Direktivenimportieren
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteAktionen
Semantik der Aktionen sind abhängig von Requests.XML-Syntax (Tag, Abschlusstag, Attribute)Es gibt Standard-Aktionen und benutzerdefinierte AktionenBenutzerdefinierte Aktionen über taglib-Direktivenimportieren
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteBeispiele für Aktionen
Standardaktionen:<jsp:useBean id="solver" class="QuadraticEqSolver"/><jsp:forward page="handler.jsp" />
Benutzerdefinierte Aktionen:
<c: forEach i tems=" ${ so l ve r . s o l u t i o n s } "var= " s o l u t i o n " varSta tus=" i t e r S t a t u s ">
${ s o l u t i o n } < c : i f t e s t = " ${ not i t e r S t a t u s . l a s t } "> , < / c : i f >< / c : fo rEach>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteBeispiele für Aktionen
Standardaktionen:<jsp:useBean id="solver" class="QuadraticEqSolver"/><jsp:forward page="handler.jsp" />
Benutzerdefinierte Aktionen:
<c: forEach i tems=" ${ so l ve r . s o l u t i o n s } "var= " s o l u t i o n " varSta tus=" i t e r S t a t u s ">
${ s o l u t i o n } < c : i f t e s t = " ${ not i t e r S t a t u s . l a s t } "> , < / c : i f >< / c : fo rEach>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteDeklarationen
Betten Deklarationen und Definitionen derProgrammiersprache ein, die durch die page-Direktivefestgelegt wurde (üblicherweise Java)Syntax: <%! Deklarationen, Definitionen, ... %>
Werden immer »zu Beginn« ausgewertet, unabhängig vonihrer Position in der JSP-SeiteBeispiel:<%!
p u b l i c i n t getMax ( i n t a , i n t b ) { r e t u r n a < b ? b : a ; }p u b l i c f i n a l S t r i n g pageAuthor = " Wischermann " ;
%>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteDeklarationen
Betten Deklarationen und Definitionen derProgrammiersprache ein, die durch die page-Direktivefestgelegt wurde (üblicherweise Java)Syntax: <%! Deklarationen, Definitionen, ... %>
Werden immer »zu Beginn« ausgewertet, unabhängig vonihrer Position in der JSP-SeiteBeispiel:<%!
p u b l i c i n t getMax ( i n t a , i n t b ) { r e t u r n a < b ? b : a ; }p u b l i c f i n a l S t r i n g pageAuthor = " Wischermann " ;
%>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteDeklarationen
Betten Deklarationen und Definitionen derProgrammiersprache ein, die durch die page-Direktivefestgelegt wurde (üblicherweise Java)Syntax: <%! Deklarationen, Definitionen, ... %>
Werden immer »zu Beginn« ausgewertet, unabhängig vonihrer Position in der JSP-SeiteBeispiel:<%!
p u b l i c i n t getMax ( i n t a , i n t b ) { r e t u r n a < b ? b : a ; }p u b l i c f i n a l S t r i n g pageAuthor = " Wischermann " ;
%>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteDeklarationen
Betten Deklarationen und Definitionen derProgrammiersprache ein, die durch die page-Direktivefestgelegt wurde (üblicherweise Java)Syntax: <%! Deklarationen, Definitionen, ... %>
Werden immer »zu Beginn« ausgewertet, unabhängig vonihrer Position in der JSP-SeiteBeispiel:<%!
p u b l i c i n t getMax ( i n t a , i n t b ) { r e t u r n a < b ? b : a ; }p u b l i c f i n a l S t r i n g pageAuthor = " Wischermann " ;
%>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteAusdrücke
Erlauben Auswertung von Skript-Ausdrücken (meistensJava-Ausdrücke)Das Ergebnis der Auswertung wird nach String konvertiertSyntax: <%= Ausdruck %>
Beispiele:<%= 3 + 4 %><p>Ihr Name ist <%= kunde.getName() %>.</p>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteAusdrücke
Erlauben Auswertung von Skript-Ausdrücken (meistensJava-Ausdrücke)Das Ergebnis der Auswertung wird nach String konvertiertSyntax: <%= Ausdruck %>
Beispiele:<%= 3 + 4 %><p>Ihr Name ist <%= kunde.getName() %>.</p>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteAusdrücke
Erlauben Auswertung von Skript-Ausdrücken (meistensJava-Ausdrücke)Das Ergebnis der Auswertung wird nach String konvertiertSyntax: <%= Ausdruck %>
Beispiele:<%= 3 + 4 %><p>Ihr Name ist <%= kunde.getName() %>.</p>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteAusdrücke
Erlauben Auswertung von Skript-Ausdrücken (meistensJava-Ausdrücke)Das Ergebnis der Auswertung wird nach String konvertiertSyntax: <%= Ausdruck %>
Beispiele:<%= 3 + 4 %><p>Ihr Name ist <%= kunde.getName() %>.</p>
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteScriptlets
Erlauben Mischung von Textelementen undSkriptelementenDadurch kann der Kontrollfluss beeinflusst werden.Syntax: <% Skriptkonstrukt %>
Beispiel:< u l ><% f o r ( i n t i = 0 ; i < studenten . getAnzahl ( ) ; i ++ { %>
< i >Name: <%= studenten . get ( i ) . getName ( ) %>< / i ><% } %>< / u l >
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteScriptlets
Erlauben Mischung von Textelementen undSkriptelementenDadurch kann der Kontrollfluss beeinflusst werden.Syntax: <% Skriptkonstrukt %>
Beispiel:< u l ><% f o r ( i n t i = 0 ; i < studenten . getAnzahl ( ) ; i ++ { %>
< i >Name: <%= studenten . get ( i ) . getName ( ) %>< / i ><% } %>< / u l >
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteScriptlets
Erlauben Mischung von Textelementen undSkriptelementenDadurch kann der Kontrollfluss beeinflusst werden.Syntax: <% Skriptkonstrukt %>
Beispiel:< u l ><% f o r ( i n t i = 0 ; i < studenten . getAnzahl ( ) ; i ++ { %>
< i >Name: <%= studenten . get ( i ) . getName ( ) %>< / i ><% } %>< / u l >
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSP-KonstrukteScriptlets
Erlauben Mischung von Textelementen undSkriptelementenDadurch kann der Kontrollfluss beeinflusst werden.Syntax: <% Skriptkonstrukt %>
Beispiel:< u l ><% f o r ( i n t i = 0 ; i < studenten . getAnzahl ( ) ; i ++ { %>
< i >Name: <%= studenten . get ( i ) . getName ( ) %>< / i ><% } %>< / u l >
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Java ServerPages
JSPWeiterführende Konzepte
Implizite ObjekteCode-Wiederverwendung über include-Aktionen oder dieinclude-DirektiveWeiterleitung von Request über forward-AktionenUnified Expression LanguageLiteratur: http://java.sun.com/javaee/5/docs/tutorial/doc/JSPIntro.html
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Enterprise JavaBeans (EJB)
Nicht mit JavaBeans verwechseln!EJBs stellen serverseitige Komponenten dar.Sie übernehmen in einer Enterprise-Anwendung dieGeschäftslogik.Zwei Arten:
Session BeansStateless Session BeansStatefull Session Beans
Message-Driven Beans
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Einführung am Beispiel
Für Session Beans müssen eine Schnittstelle und eineimplementierende Klasse (Bean-Klasse) definiert werden.
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Session-Bean-BeispielDie Bean-Schnittstelle
impor t javax . e jb . Remote ;
@Remotep u b l i c i n t e r f a c e Quadrat icEqSolver {
p u b l i c Set<Double> ge tSo lu t i ons ( double a , double b , double c ) ;}
Die Remote-Annotation gibt an, dass das Bean von verteilten Clients benutztwird.
Zur Performance-Steigerung gibt es die Local-Annotation; sie gibt an, dass dasBean ausschließlich von Clients benutzt wird, die sich in der gleichen virtuellenMaschine wie das Bean befinden.
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Session-Bean-BeispielDie Bean-Klasse
impor t javax . e jb . S ta te less ;
@Statelessp u b l i c c lass QuadraticEqSolverBean implements Quadrat icEqSolver {
/ / H ier d ie Loesung berechnen . ( Analog zum JSP"= B e i s p i e l . )
. . . .}
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Session-Bean-BeispielDeployment-Archiv erstellen
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans
Session-Bean-BeispielClient-Zugriff
impor t javax . naming . I n i t i a l C o n t e x t ;
p u b l i c c lass EJBCl ient {
p u b l i c s t a t i c vo id main ( S t r i n g args [ ] ) {t r y {
I n i t i a l C o n t e x t i c = new I n i t i a l C o n t e x t ( ) ;Quadrat icEqSolver so l ve r = i c . lookup ( " Quadrat icEqSolver " ) ;
System . out . p r i n t l n ( so l ve r . ge tSo lu t i ons (1 , 0 , −1));}catch ( Except ion e ) {
e . p r in tS tackTrace ( ) ;}
}}
Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung in Java Enterprise Edition 5 (Java EE 5)
top related