Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE...

84
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)

Transcript of Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE...

Page 1: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 2: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 3: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 4: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 5: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 6: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 7: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 8: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 9: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 10: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 11: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 12: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 13: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 14: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 15: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 16: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 17: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 18: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 19: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 20: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 21: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 22: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 23: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 24: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans

Servlets

Servlet-BeispielHTML-Eingabeseite erstellen

. . .<body>

<h1>L&ouml ; sen von quadrat ischen Gleichungen< / h1><p>a&middot ; x&sup2 ; + b&middot ; 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)

Page 25: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 26: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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&ouml ; sung . " ) ;

Dirk Wischermann, Marc Spisländer Friedrich-Alexander-Universität Erlangen-Nürnberg

Einführung in Java Enterprise Edition 5 (Java EE 5)

Page 27: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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 &ouml ; 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&ouml ; sen von quadrat ischen Gleichungen </h1>" ) ;out . p r i n t l n ( "<p>"+a+"&middot ; x&sup2 ;+ "+b+"&middot ; 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)

Page 28: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 29: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 30: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 31: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 32: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 33: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 34: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 35: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 36: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 37: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 38: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 39: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 40: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 41: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 42: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 43: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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&ouml ; 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)

Page 44: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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 &ouml ; sen< / t i t l e >< / head><body>

<h1>L&ouml ; sen von quadrat ischen Gleichungen< / h1><p><%= request . getParameter ( " a " ) %>&middot ; x&sup2 ; +

<%= request . getParameter ( " b " ) %>&middot ; 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)

Page 45: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans

Java ServerPages

JSP-BeispielHTML-Seite anpassen

. . .<body>

<h1>L&ouml ; sen von quadrat ischen Gleichungen< / h1><p>a&middot ; x&sup2 ; + b&middot ; 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)

Page 46: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 47: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 48: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 49: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 50: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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 &ouml ; sen< / t i t l e >< / head>

<body><h1>L&ouml ; 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 " / >&middot ; x&sup2 ; +< j s p : g e t P r o p e r t y name=" so l ve r " p roper ty= " b " / >&middot ; 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)

Page 51: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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&auml ; 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)

Page 52: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 53: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 54: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 55: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 56: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 57: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 58: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 59: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 60: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 61: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 62: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 63: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 64: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 65: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 66: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 67: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 68: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 69: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 70: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 71: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 72: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 73: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 74: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 75: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 76: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 77: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 78: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 79: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 80: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 81: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 82: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 83: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)

Page 84: Einführung in Java Enterprise Edition 5 (Java EE 5) · Einführung Web-Anwendungen mit Java EE Enterprise JavaBeans Einführung in Java Enterprise Edition 5 (Java EE 5) Dirk Wischermann

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)