Schritt 1: Java im Web

Größe: px
Ab Seite anzeigen:

Download "Schritt 1: Java im Web"

Transkript

1 Prof. Dr. Th. Letschert FB MNI JEE Schritt 1: Java im Web Voraussetzungen In diesem Kurs geht es um serverseitige Java Technologien. Eine wichtige, wenn auch nicht die einzige Aufgabe eines Servers ist natürlich die Teil einer Web Applikation zu sein. Entsprechende Basis Technologien wie HTTP und HTML sind natürlich bekannt. Tiefergehende Kenntnisse in XML, JSON und AJAX werden nicht erwartet, aber ein Grundverständnis sollte vorhanden sein. Selbstverständlich ist solides Fundament in Java SE von Nutzen. Ein eigener Rechner sowie die Fähigkeit ihn zu administrieren werden vorausgesetzt. Eine gewisse Vertrautheit im Umgang mit Eclipse ist nützlich. 1 Vorbereitung Eignen Rechner bereit stellen Die für diese Veranstaltung notwendige Software sollte auf dem eigenen Rechner installiert werden. Bitte bringen Sie zu allen Terminen Ihren Rechner mit. JEE ist eine Server Technologie. Ihr Rechner benötigt eine für entsprechende Entwicklungsaufgaben notwendige Mindestausstattung an Rechenleistung und Hauptspeicher. Sub Notebooks, Netbooks und Smartphones sind in der Regel nicht ausreichend leistungsfähig. Installationen Wir beginnen mit der Installation der Software: Eclipse JEE; Download und Installation JEE : Download und Installation: Java EE 6 SDK (Enthält Glassfish) Empfehlung Eine Instanz von Eclipse und ein Workspace kann für verschiedene Entwicklungsaufgaben genutzt werden. Kann sollte aber nicht! Verwenden Sie für diese eine eigene Instanz von Eclipse und einen eigen Workspace. Eclipse konfigurieren Datei eclipse.init editieren: Speicher vergrößern (z.b.: -XX:MaxPermSize=1024m / -Xms128m / -Xmx1024m) Infos zur JVM finden sich unter: Installed JREs: Hier unbedingt ein JDK setzen z.b. das mit JEE geladene (glassfish/jdk) (Via: Window/Preferences/Java/Installed JREs) Server Runtime Environment konfigurieren, z.b. als J2EE Runtime Lib. (Via: Window/Preferences/Server/Runtime Environments Add/Basic/J2EE Runtime Library/Browse)

2 Im gewählten Verzeichnis müssen die JEE Jars zu finden sein. Sie werden zur Laufzeit und während der Entwicklung zum Compilieren gebraucht. Nehmen Sie das Verzeichnis modules im Instsallationsverzeichnis des Glassfishs. Die Datei javax.servlet.jar sollte in jedem Fall in dem Verzeichnis zu finden sein, das Sie auswählen. Eine JEE Anwendung läuft immer auf einen Server. Der Server startet die Anwendung und führt sie aus. Ähnlich wie die JVM eine JSE Anwendung startet und ausführt. Eine JSE Anwendung nutzt die Dienste der JVM über die Java SE API. Eine JEE-Anwendung hat eine erweiterte API und nutzt darüber hinaus die Dienste des Servers auf dem sie läuft. Diese Funktionalität wird über diverse Jar Dateien eingebunden die zur Laufzeit gebraucht werden (darum Runtime Environments ), sie aber auch von Eclipse zum Übersetzen benötigt. 2 Web Anwendung erstellen Projekt erstellen Starten Sie Eclipse und stellen Sie die Perspektive um auf Java EE. Erstellen Sie ein Dynamic Web Project: Name: ComputeDWP Target Runtime: J2EE Runtime Library Eclipse WTP Eclipse JEE ist auf die Entwicklung von JEE Anwendungen vorbereitet. Dazu beinhaltet es Komponenten die vom Web Tools Platfrom Projekt entwickelt und bereit gestellt werden. Via Help/About Eclipse kann man die Konfiguration von Eclipse einsehen. Dort findet man auch die Aufforderung die Homepage des Projekts (http://www.eclipse.org/webtools/) zu besuchen. Tun Sie das: Werfen Sie einen Blick auf diese Seite. Die Eclipse Dokumentation (http://help.eclipse.org/indigo/) enthält ein Kapitel Web Tools Platform User Guide in dem die Verwendung der WTP Werkzeuge erklärt wird. Werfen Sie einen kurzen Blick in die Dokumentation und den Web Tools Platform User Guide. Web Applikationen und Dynamic Web Project Informationen zu einem Dynamic Web Project finden Sie in der Eclipse Dokumentation (http://help.eclipse.org/indigo/) unter Web Tools Platform User Guide >Creating Web applications > Web projects > Creating a dynamic Web project Ein Blick auf die Dokumentation zeigt, dass es drei Kapitel über die Entwicklung von Applikationen gibt: Creating Web applications Creating Java EE and enterprise applications Developing Web service applications Mit unserem Dynamic Web Project befinden wir uns im Kapitel Creating Web applications. Die anderen Arten von Applikationen ignorieren wir vorerst einmal. Lesen Sie den Abschnitt Web application overview und merken Sie sich schon mal was Eclipse WTP unter einer Web Applikation versteht: 2

3 Web Applikationen etwas sind, das in der Servlet Spezifikation definiert ist. Web Applikationen umfassen: Html Seiten Java Server Pages (JSPs) Servlets Konfigurationsdateien in XML Format All dies wird zu einer WAR Datei zusammengepackt und ist dann (das Artefakt) eine(r) Web Applikation. Eine Web Applikation kann mit einer ausführbaren Jar Datei verglichen werden. Statt mit einer Jar Datei haben wir es mit einer War Datei zu tun. Nicht die JVM führt die WAR Datei aus, sondern ein Server. Der Name Web Applikation und die Tatsache, dass Html Seiten enthalten sein können, legt nahe, dass mit einem Dynamic Web Project tatsächlich Web Applikationen im landläufigen Sinn erstellt werden können: also Anwendungen die auf einem Server laufen und via HTTP Protokoll über Browser angesprochen werden können. Einstiegseite und Formular Als erstes erstellen wir eine Html Seite als Einstieg in unsere Anwendung (new / Html File /...): <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>compute Web Applikation</title> </head> <body> <h1>willkommen beim Compute-Service</h1> <a href="computeformular.html">hier</a> geht es zum Formular gesteuerten Rechnen. </body> </html> und das Formular auf das verwiesen wird: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>compute Formular</title> </head> <body> <h1>compute Formular</h1> <form action="computeservlet" method="post"> <p>hier Ihre 1. Zahl: <input name="zahl1" size="10"></p> <p>hier Ihre 2. Zahl: <input name="zahl2" size="10"></p> <p>wählen Sie die Operation aus:</p> <p> <input type="radio" name="operation" value="add"><b>+</b><br> <input type="radio" name="operation" value="sub"><b>-</b> </p> <p><input type="submit" value="ausführen"></p> </form> </body> </html> 3

4 Servlet Die Formulardaten müssen verarbeitet werden. Das ist eine Aufgabe für ein Servlet. Servlets können mit CGI Programmen verglichen werden. Sie verarbeiten die Daten des Clients und senden das Ergebnis als Antwort. Der Unterschied zu einen CGI Programm besteht darin, dass das Servlet im Kontext des Servers und mit der vollen Unterstützung des Servers abläuft. Mit (new / Servlet /...) wird ein Rahmen erzeugt in dem dann der Code für dopost Methode (method= post ) ergänzt wird. package compute; import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; * Servlet implementation class ComputeServlet public class ComputeServlet extends HttpServlet { private static final long serialversionuid = 1L; HttpServlet#HttpServlet() public ComputeServlet() { super(); HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html;charset=iso "); PrintWriter out = response.getwriter(); out.println("<html><body>"); try { String param1 = request.getparameter("zahl1"); String param2 = request.getparameter("zahl2"); String op = request.getparameter("operation"); if ( param1!= null && param2!= null && op!= null ) { int v1 = Integer.parseInt(param1); int v2 = Integer.parseInt(param2); int result = 0; if ( op.equals("add") ) result = v1 + v2; else if ( op.equals("sub") ) result = v1 - v2; else throw new NumberFormatException(); out.println("berechneter Wert: "+result); catch (NumberFormatException e) { out.println("fehlerhafte Eingabe"); out.println("</body></html>"); 4

5 Machen Sie sich damit vertraut, wie auf die Anfrage Parameter zugegriffen wird. Machen Sie sich damit vertraut, wie die Antwort erzeugt wird. 3 Web-Anwendung installieren WAR Datei erzeugen Eine Web Applikation hat eine normierte Packform : eine WAR Datei. WAR steht für Web Application Archive. Das WAR Format ist eine Variante des Jar Formats. Bei einer WAR Datei handelt sich um eine Jar Datei mit bestimmten normierten Inhalten. Eclipse WTP kann eine entsprechende Datei aus unserem dynamischen Web Projekt erzeugen: Export WAR file Name: ComputeDWP Destination:.. Ablageplatz auswählen... Damit wird die entsprechende Datei erzeugt und gespeichert. Die Web Applikation ist damit bereit zum Deployment. Server starten Jetzt wird nur noch ein Server benötigt der die Anwendung ausführt. Wir starten dazu den glassfish. Information zum Umgang mit glassfish finden sich unter 01/html/ /aboaa.html Gestartet wird mit./asadmin start-domain domain1 Das Kommando asadmin findet sich im bin Verzeichnis der Glassfish Installation. Der Server bedient zwei Ports (die natürlich beim Start verfügbar sein sollten): 8080: Zugriff auf Webapplikationen die auf dem Server installiert sind. 4848: Konsole zur Serveradministration. Wir versichern uns mit einem Browser dass an beiden Ports Inhalte zur Verfügung gestellt werden (localhost:8080 und localhost:4848) und rufen dann Admin Konsole auf. Unter Common Tasks (Startseite) finden wir Deploy an Application und klicken es an. In der folgenden Seite wählen wir das die eben erzeugt War Datei aus und bestätigen mit OK. Jetzt steht unser Web Applikation bereit zur Benutzung. Unter finden wir die Einstiegs Seite und von dort aus das Formular. Wir können Server basiert addieren und subtrahieren. 4 Server in Eclipse integrieren Der Entwicklungszyklus Editieren, Exportieren, Deployment, Test ist mühsam. Man wünscht sich auch einen Test /Debug Modus bei dem direkt aus Eclipse heraus die Anwendung gestartet und bei Bedarf auch entwanzt werden kann. Das ist möglich. Eclipse stellt entsprechende Hilfsmittel bereit. 5

6 Server Runtime Environment: GlassFish für den Glassfish Server: Window / Preferences / Server / Runtime Environments Add / Download additional server adapters GlassFish Server Opensource edition 3 (Java EE 6) Installationsverzeichnis angeben: glassfish Eclipse wird einen Neustart machen. Wir erweitern unsere Eclipse um eine Serverunterstützung Wir stoppen zwischenzeitlich den laufenden GlassFish Server damit es später keine Konflikte gibt. Dazu nutzen wir die Server Konsole (Port 4848). Unter Server Admin findet man ein Stop. Zurück zu Eclipse: Mit Run As / Run on Server deployen wir die Applikation aus Eclipse heraus auf dem Server. Der Zugriff erfolgt wie oben über einen Browser und auch auf die Admin-Konsole des von Eclipse gestarteten Servers kann wieder über Port 4848 zugegriffen werden. Denke und Spiele! 1. Kann Glassfish statische Web Seiten ausliefern? Wenn ja: Wo ist sein document root? 2. Ist Glassfish ein Web Server, ein Container, ein Application Server? 3. Angenommen die Web Anwendung oben müsste ohne die Hilfe eines Containers, nur mit einem Web Server, installiert werden: was wäre (mehr) zu zu tun, zu implementieren, zu ändern? 4. Angenommen die Web Anwendung oben müsste mit Hilfe eines Containers, aber ohne die Hilfe von Eclipse WTP, installiert werden: was wäre (mehr) zu zu tun, zu implementieren, zu ändern? 5. Angenommen die Web Anwendung oben müsste mit Hilfe eines Containers, und die Hilfe von Eclipse WTP, aber ohne dessen Fähigkeit der Server Integration, installiert werden: was wäre (mehr) zu zu tun, zu implementieren, zu ändern? 6. Jede WAR Datei enthält einen Deployment Descriptor. Was ist das, warum ist es notwendig und wer wird die darin enthaltene Information zu welchem Zweck verarbeiten? 5 Web Anwendung erweitern Ajax und Servlets Mit einem einfachen Experiment prüfen wir, ob Servlets nur klassische HTTP Anfragen bedienen können, oder auch ob sie auch Ajax-Requests bedienen können. Dazu erweitern wir die Datei index.html zu <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>compute Web Applikation</title> </head> <body> <h1>willkommen beim Compute-Service</h1> <p><a href="computeformular.html">hier</a> geht es zum Formular gesteuerten Rechnen.</p> <p><a href="computeajax.html">hier</a> geht es zum Ajax gesteuerten Rechnen.</p> </body> </html> 6

7 und erstellen eine Html-/ Javascript Seite die Ajax Requests absetzt: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>ajax and Servlets</title> <script type="text/javascript"> var xhr = new XMLHttpRequest(); function sendrequest(request) { xhr.open( "get", "ComputeAjaxServlet?"+request, true); xhr.onreadystatechange = handleresponse; xhr.send(null); function handleresponse() { if (xhr.readystate == 4) { document.getelementbyid("ausgabe").innerhtml = xhr.responsetext; </script> </head> <body> <h1>ajax and Servlets</h1> <form> <p>hier Ihre 1. Zahl: <input name="zahl1" id="zahl1" size="10"></p> <p>hier Ihre 2. Zahl: <input name="zahl2" id="zahl2" size="10"></p> <p>wählen Sie die Operation aus:<br/> <select id="operation"> <option value="add">add</option> <option value="sub">sub</option> </select> </p> </form> <p> <button id="rechne">ausführen</button> </p> <p> <div id="ausgabe" style="width:150px; height:50px; background:lightgrey; font-size:small; font:courier"> </div> </body> <script type="text/javascript"> document.getelementbyid("rechne").onclick = function() { var z1 = document.getelementbyid("zahl1").value var z2 = document.getelementbyid("zahl2").value var opnr = document.getelementbyid("operation").selectedindex; var options=document.getelementbyid("operation").options; sendrequest("zahl1="+z1+"&zahl2="+z2+"&operation="+options[opnr].text) ; </script> </html> Das entsprechende Servlet ist: package compute; import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; 7

8 import javax.servlet.http.httpservletresponse; * Servlet implementation class ComputeAjaxServlet public class ComputeAjaxServlet extends HttpServlet { private static final long serialversionuid = 1L; HttpServlet#HttpServlet() public ComputeAjaxServlet() { super(); HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getwriter(); String operation = request.getparameter("operation"); int operand1 = Integer.parseInt(request.getParameter("ZAHL1")); int operand2 = Integer.parseInt(request.getParameter("ZAHL2")); out.print("<p><b>"); if (operation.equals("add")) { out.print(operand1 + operand2); else if (operation.equals("sub")) { out.print(operand1 - operand2); else System.out.println("???"); out.print("</b></p>"); out.print("\n\n"); HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { Was stellen Sie fest? Kann ein Servlet auch Ajax Requests bedienen? XML und JSON Natürlich steht einem Servlet die Java übliche XML Unterstützung zur Verfügung. XML wird von Java unterstützt ohne dass externe Bibliotheken notwendig sind. JSON benötigt dagegen normalerweise externe Unterstützung. GlassFish kommt allerdings gleich mit Jackson. Wir verwenden darum Jackson (http://jackson.codehaus.org/) als JSON Implementierung. Eine kurze Einführung in Jackson findet sich unter Wir beginnen auf der Client Seite. Zunächst wird index.html um einen einen Link erweitert: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>compute Web Applikation</title> 8

9 </head> <body> <h1>willkommen beim Compute-Service</h1> <p><a href="computeformular.html">hier</a> geht es zum Formular gesteuerten Rechnen.</p> <p><a href="computeajax.html">hier</a> geht es zum Ajax gesteuerten Rechnen.</p> <p><a href="computejson.html">hier</a> geht es zum JSON gesteuerten Rechnen.</p> </body> </html> und erstellen eine Html-/ Javascript Seite die Ajax Requests im JSON Format absetzt: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>compute with JSON</title> <title>lass den Server rechnen / Ajax JASON-Request / Response</title> <script type="text/javascript"> var xhr = new XMLHttpRequest(); function sendrequest(data) { xhr.open("post", "ComputeJSON", true); xhr.onreadystatechange = handleresponse; xhr.send(data); function handleresponse() { if (xhr.readystate == 4) { var response = JSON.parse(xhr.responseText); document.getelementbyid("a").innerhtml = response.result; function mkjsonquery(op, z1, z2) { data = "{ \"operation\" : \""+ op +"\", \"operand_1\" : "+ z1 +", \"operand_2\" : "+ z2 +" "; return data; </script> </head> <body> <h1>json + AJAX</h1> <p>hier Ihre 1. Zahl: <input id="zahl1" size="10"></p> <p>hier Ihre 2. Zahl: <input id="zahl2" size="10"></p> <p>wählen Sie die Operation aus:<br/> <button id="plus"><b>+</b></button> <button id="minus"><b>-</b></button> </p> <p><div id="a"></div></p> </body> <script type="text/javascript"> document.getelementbyid("plus").onclick = function() { sendrequest(mkjsonquery("add", encodeuricomponent(document.getelementbyid("zahl1").value), encodeuricomponent(document.getelementbyid("zahl2").value))); document.getelementbyid("minus").onclick = function() { sendrequest(mkjsonquery("sub", encodeuricomponent(document.getelementbyid("zahl1").value), encodeuricomponent(document.getelementbyid("zahl2").value))); </script> </body> </html> Es fehlt nur noch das verarbeitende Servlet: 9

10 package computejson; import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import org.codehaus.jackson.map.objectmapper; * Servlet implementation class ComputeJSON public class ComputeJSON extends HttpServlet { private static final long serialversionuid = 1L; HttpServlet#HttpServlet() public ComputeJSON() { super(); HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getwriter(); ObjectMapper mapper = new ObjectMapper(); Query queryobject = mapper.readvalue(request.getinputstream(), Query.class); Integer result = queryobject.getoperation().equals(query.operation.add)? (queryobject.getoperand_1() + queryobject.getoperand_2()) : (queryobject.getoperand_1() - queryobject.getoperand_2()); Answer answerobject = new Answer(); answerobject.setquery(queryobject); answerobject.setresult(result); mapper.writevalue(out, answerobject); out.flush(); Wir sehen: JEE mit GlassFish ist auch auf JSON vorbereitet. 6 War Datei Struktur Ein WAR Archiv ist eine gepackte Web Applikation. Es hat folgende Verzeichnis Struktur: Wurzelverzeichnis Das Wurzelverzeichnis enthält die von außen direkt zugreifbaren der Applikation. In erster Linie sind das die HTML Dateien und JSP Dateien (die wir in der nächsten Lektion betrachten werden). 10

11 WEB-INF Dieses Verzeichnis ist nicht direkt von außerhalb der Applikation zugreifbar. Es enthält den Deployment Descriptor web.xml hat die Unterverzeichnisse classes mit den Klassendateien der Applikation in der Java üblichen Paketstruktur. Hier finden sich alle Servlets. lib mit Bibliotheken (Jar Dateien) die von der Applikation genutzt werden (falls vorhanden). Deployment Descriptor Wenn Sie in Eclipse den Deployment Descriptor (web.xml) der Anwendung öffnen tun sie das!, dann finden sie in der Source Ansicht des Deployment Descriptors der etwa wie folgt aussieht. <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemalocation="http://java.sun.com/xml/ns/javaee id="webapp_id" version="2.5"> <display-name>computedwp</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>computeservlet</display-name> <servlet-name>computeservlet</servlet-name> <servlet-class>compute.computeservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>computeservlet</servlet-name> <url-pattern>/computeservlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>computeajaxservlet</display-name> <servlet-name>computeajaxservlet</servlet-name> <servlet-class>compute.computeajaxservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>computeajaxservlet</servlet-name> <url-pattern>/computeajaxservlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>computejson</display-name> <servlet-name>computejson</servlet-name> <servlet-class>computejson.computejson</servlet-class> </servlet> <servlet-mapping> <servlet-name>computejson</servlet-name> <url-pattern>/computejson</url-pattern> 11

12 </servlet-mapping> </web-app> In der Design Ansicht ist das Ganze etwas übersichtlicher angeordnet. Betrachten wir die Bestandteile des Deployment Descriptors im Detail: display-name Der display-name ist der Name der Applikation der von (Administrations ) Werkzeugen verwendet wird. Die Admin Konsole des Glassfishs zeigt beispielsweise die Applikation unter diesem Namen. welcome-file Hier werden die möglichen Willkomens Dateien der Applikation angegeben. D.h. die Dateien die angezeigt werden, wenn die URL mit der auf die Applikation zugegriffen wird, keine Ressource enthält. Die Liste wird von oben nach unten durchsucht, so lange bis eine anzeigbare Datei gefunden wird. In unserem Beispiel etwa wird die URL mit Hilfe des Deployment Descriptors auf die Datei index.html abgebildet. Mit dem welcome-file Element wird also gewissermaßen Server Root der Anwendung konfiguriert. servlet Jedes servlet Element beschreibt ein Servlet mit folgenden Informationen: description: Eine informale Beschreibung des Servlets. display-name: Der Name unter dem das Servlet von (Administrations ) Werkzeugen dargestellt wird. servlet-name: Der interne Name des Servlets. Unter diesem Namen wird das Servlet innerhalb des Deploymant Descriptors eindeutig identifiziert. servlet-class: Der voll qualifizierte Name der Servlet Klasse. Er identifiziert die Klassen Datei. servlet-mapping Mit diesem Element wird beschrieben, über welche URLs auf das Servlet zugegriffen werden kann. Es bildet, wie der Name schon sagt, URL Muster auf Servlets ab. Ein Servlet hat also mehrere Namen: Einen internen Namen (servlet-name). Dies ist der Name den der Entwickler verwendet. Einen Java Namen (servlet-class). Diese ist der Name den der Klassenlader der JVM verwendet um die Servlet Klasse zu laden. Einen Administrations Namen (display-name). Das ist der Name unter dem das Servlet dem Administrator des Servers angezeigt wird. Denke und Spiele! 1. Statt die Web Applikation, so wie hier vorgestellt, um zwei neue Funktionalitäten zu erweitern, hätte man auch zwei weitere Applikationen entwickeln können. Könnten diese dann zusammen auf einem Server aktiv sein? Wenn ja: Mit welchen URLs wären sie dann wohl ansprechbar? 2. Formen Sie die Erweiterungen aus diesem Abschnitt (Ajax und JSON Unterstützung) in zwei weitere Web Applikationen um und bringen Sie sie auf dem Server zum Laufen. 3. Mit welchen URLs kann man sie ansprechen? Wo ist ihr jeweiliges Server Root? 12

13 7 Rückschau Eclipse WTP Die Web Tools Platform WTP bietet eine Basis für die Entwicklung von Server basierten Java Applikationen. Eine solche Server Applikation kann in drei Grundvarianten erstellt werden: static Web Project: Web Applikation mit statischen HTML Seiten unter Verwendung eines Web Severs. dynamic Web Project: Web Applikation mit dynamischem Inhalt auf Basis der Servlet Technologie unter Verwendung eines Web Containers. Enterprise Application Project: Server Applikation auf Basis der vollen Java EE Technologie unter Verwendung eines Enterprise Application Servers. Statische Web Projekte haben wir hier ignoriert und die Behandlung von Enterprise Applikationen folgt später. Mit Eclipse WTP bietet eine integrierte Entwicklungsumgebung obwohl die Applikationen aus einem Client seitigen und einem Server seitigen Teil bestehen und nicht für sich allein lauffähig sind, sondern stets auf einem geeigneten Server installiert werden müssen. Web Applikation Ein dynamisches Web Projekt ist ein Entwicklungs Konstrukt von Eclipse WTP um eine Java Web Applikation zu entwickeln und zu installieren. Eine Java Web Applikation besteht aus statischen (z.b. HTML Seiten) und dynamischen Ressourcen (z.b. Servlets) die zusammen eine Server-basierte Anwendung ausmachen. Ein Web Applikation benötigt einen Web Container um ausgeführt zu werden. Ein Web Container stellt die Laufzeitumgebung bereit, die die die Komponenten einer Web Applikationen beispielsweise Servlets zur Ausführung benötigen. Web Applikationen werden in einer gepackten Form als WAR Archiv auf einem Web Container installiert (deployt). Web Applikationen sind in der Servlet Spezifikation genau festgelegt: Format und Inhalt eines WAR Archivs Funktionalität eines Web Containers Die Servlet Spezifikation ist Bestandteil der Kollektion von Spezifikationen und Technologien die als JEE bezeichnet werden. Wie andere ist die Servlet Spezifikation ein Java Specification Request (JSP). JEE 6 beinhaltet JSR 315, die Java Servlet Spezifikation 3.0. Mit Eclipse WTP können dynamische Web Projekte als WAR Archive exportiert werden oder auch direkt auf einem Web Container zur Ausführung gebracht werden. 13

14 Web Container Server zur Unterstützung von Java Applikationen kann man in drei Klassen unterteilen: Web Server Web Container JEE Application Server Web Server Web Server wickeln das HTTP Protokoll ab. Sie liefern statische HTML Seiten aus und können dynamische Inhalte über externe Programme (CGI Technologie) oder über integrierte Interpreter Module (PHP, Active Server Pages) erzeugen. CGI und Interpreter Techniken spielen keine Rolle im Java Umfeld. Web Container Ein Web Container (auch Servlet Container, Servlet Engine) erfüllt die in der Servlet Spezifikation geforderte Funktionalität. Er ist die Ablaufplattform für Web Applikationen. Beispiele für Web Container sind Apache Tomcat und Jetty. Web Container sind in aller Regel auch Web Server, d.h. sie können auch statische Web Seiten ausliefern. JEE Application Server Ein (JEE) Application Server unterstützt den vollen Umfang der JEE Spezifikationen. Das die Servlet Spezifikation ein Teil der JEE Spezifikationen ist, ist auch jeder Application Server ein Web Container. Beispiele für Application Server sind JBoss Application Server, GlassFish, IBM WebSphere, SAP NetWeaver Application Server, 14

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann Sitzungszustand Gruppierung von Anfragen zu Sitzungen (Sessions) Klasse HttpServletRequest Methode HttpSession getsession (bool create) liefert aktuelle Sitzungsobjekt Zustand lokal zur Anwendung (ServletContext)

Mehr

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI Servlet II Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI 3-1 1. Grundlagen 2. Servlets 3. JSP 4 1.1. JAR Files 4 1.2. TCP/IP, Sockels 4 1.3.

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm Beispiel Ein

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Starten und Auswahl des Workspaces Starten Sie Eclipse als die Entwicklungsumgebung. Wählen Sie als Workspace

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Web-Services Implementierung

Web-Services Implementierung Web-Services Implementierung Praktikum Informationsintegration 8.11.2005 Agenda Aktueller Stand / Abgabe Implementierung Wie geht das mit Java und Tomcat? Service Client 2 Abgabe Teil 1 Ein paar Zahlen

Mehr

Sicherheit. letzten beiden Punkte typischerweise durch Verschlüsselung realisiert. Komponentenbasierte Software Entwicklung. Prof. Dr.

Sicherheit. letzten beiden Punkte typischerweise durch Verschlüsselung realisiert. Komponentenbasierte Software Entwicklung. Prof. Dr. Sicherheit Vier Aufgaben Authentifizierung: Nutzer erkennen; klassisch über Name und Passwort Autorisierung: Nutzer darf nur bestimmte Aktionen durchführen, klassisch über Rechte Rollen System Vertraulichkeit:

Mehr

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Cloud Computing Deployment Typen: Private cloud Besitzt das Unternehmen Community cloud Gemeinsame Nutzung durch Gemeinschaft Public cloud Öffentliche

Mehr

Web-Suche. Eingabeformulare. Websuche: Benutzer-Schnittstelle. Ein einfaches Suchformular. Benutzer-Schnittstelle.

Web-Suche. Eingabeformulare. Websuche: Benutzer-Schnittstelle. Ein einfaches Suchformular. Benutzer-Schnittstelle. Eingabeformulare Web-Suche Benutzer-Schnittstelle HTML unterstützt verschiedene Arten der Programmeingabe in Formularen einschließlich: Textbox Menüs Prüfbox Auswahlbuttons Wenn ein Anwender ein Formular

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

Mehr

Execution Server Integrationshandbuch

Execution Server Integrationshandbuch Execution Server Integrationshandbuch Visual Rules Execution Server 4.7 Innovations Software Technology GmbH www.visual-rules.com Execution Server Integrationshandbuch Visual Rules Execution Server 4.7

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Portlets Was sind Portale? Aufgaben von Portalsystemen Integration unterschiedlicher Anwendung Schwerpunkt liegt auf der Präsentationsebene Ermöglichung personalisierter

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen MVC, JSP, Custom und Core Tags Darstellungsschicht Anwendungsschicht Datenschicht Architektur Browser Applikationsserver mit Servlet-Container DB-Server Web2-2

Mehr

Websuche: Benutzer-Schnittstelle. Eingabeformulare. Ein einfaches Suchformular. Web-Suche. Benutzer-Schnittstelle.

Websuche: Benutzer-Schnittstelle. Eingabeformulare. Ein einfaches Suchformular. Web-Suche. Benutzer-Schnittstelle. Websuche: Benutzer-Schnittstelle Web-Suche Benutzer-Schnittstelle Web-Suchmaschinen brauchen natürlich eine webbasierte Benutzer-Schnittstelle. Die Suchseite muss einen Anfragestring entgegennehmen und

Mehr

Internetapplikationen

Internetapplikationen Internetapplikationen Praxis Eclipse Download von http://www.eclipse.org/downloads Entwicklungsoberfläche für Java Erweiterungsmöglichkeiten über Plugins im Rahmen dieser Übung werden jedoch keine Plugins

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2010 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

Mehr

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool JBoss vorbereiten Wir haben ein zip-archiv mit JBoss 4.0.5 in /opt/jboss-4.0.5.zip hinterlegt. Entpacken Sie dieses in ihrem Homeverzeichnis an

Mehr

Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz von Web Services:

Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz von Web Services: 0BBA Karlsruhe, Vorlesung Programmieren, Web Services 1BAufgabe 1 Tomcat um das AXIS-Framework erweitern : Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. WebSphere Application Server Teil 2. Schnittstellen

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. WebSphere Application Server Teil 2. Schnittstellen UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 2 Schnittstellen el0100 copyright W. G. Spruth, wgs

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Web-Anwendungen mit Arquillian testen

Web-Anwendungen mit Arquillian testen Michael Kotten open knowledge @michaelkotten @_openknowledge Wozu denn testen? Ich mach doch keine Fehler! Wozu denn testen? > Notwendig bei komplexen Systemen > Sicherung von > Qualität > Funktionalität

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Execution Server Integrationshandbuch

Execution Server Integrationshandbuch Visual Rules Suite - Execution Platform Execution Server Integrationshandbuch Version 5.4.1 Bosch Software Innovations Americas: Asia: Europe: Bosch Software Innovations Corp. Bosch Software Innovations

Mehr

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2014 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Apps-Entwicklung mit Eclipse

Apps-Entwicklung mit Eclipse JDroid mit Eclipse Seite 1 Apps-Entwicklung mit Eclipse Version 1.1, 30. April 2013 Vorbereitungen: 1. JDK installieren JDK SE neuste Version (64 oder 32 Bit) herunterladen und installieren (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr. Multimedia im Netz Wintersemester 2011/12 Übung 10 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 2 Gesundes neues Jahr 3 Blatt 08 Videoformate im

Mehr

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse Grundsätzlich spielt das Operating System keine Rolle. Es muss aber zumindest Java installiert sein. In unserem Falle wählen wir Linux (Debian/Ubuntu), da es am einfachsten zu handhaben ist. Es kann auch

Mehr

Bridging the Gap between the Enterprise and You. Who s the JBoss now?

Bridging the Gap between the Enterprise and You. Who s the JBoss now? or Who s the JBoss now? Patrick Hof (patrick.hof@redteam-pentesting.de) Jens Liebchen (jens.liebchen@redteam-pentesting.de) RedTeam Pentesting GmbH http://www.redteam-pentesting.de FrOSCon 2009 22./23.

Mehr

Datenbanken: Servlets und JSP

Datenbanken: Servlets und JSP Datenbanken: Servlets und JSP Datenbank-Anwendungen für das Web basieren auf der Client - Server - oder Client - Middleware - Datenbankserver - Architektur. Grundsätzlich zu unterscheiden sind: Client-basierte

Mehr

Security Technologien in Java EE 6

Security Technologien in Java EE 6 Security Technologien in Java EE 6 Java Forum Stuttgart 2010 Sebastian Glandien Acando GmbH sebastian.glandien@acando.de Agenda I. Einleitung II. Java Authentication SPI for Containers (JSR-196) I. Message

Mehr

Tutorial 9. Eclipse, WebSphere, JDBC, SQLJ, DB2Connect. Copyright Abt. Computersysteme, Institut für Informatik, Universität Leipzig

Tutorial 9. Eclipse, WebSphere, JDBC, SQLJ, DB2Connect. Copyright Abt. Computersysteme, Institut für Informatik, Universität Leipzig Tutorial 9 Eclipse, WebSphere, JDBC, SQLJ, DB2Connect Copyright Abt. Computersysteme, Institut für Informatik, Universität Leipzig 1. Einleitung Tutorial 9 macht etwas sehr ähnliches wie Tutorial 8. Es

Mehr

BFV Widgets Kurzdokumentation

BFV Widgets Kurzdokumentation BFV Widgets Kurzdokumentation Mit Hilfe eines BFV-Widgets lassen sich die neuesten Ergebnisse und die aktuellen Tabellen des BFV auf der eigenen nicht kommerziellen Webseite mit wenig Aufwand einbeten.

Mehr

Enterprise java beans step-by-step

Enterprise java beans step-by-step Enterprise java beans step-by-step 0. Voraussetzungen Der Orion Server ist in C:\Orion installiert! Sollten schon Versuche diese Applikation zum Laufen zu bringen fehlgeschlagen sein, empfehle ich eine

Mehr

4 Erstellen unseres Webprojektes HellDevelopers

4 Erstellen unseres Webprojektes HellDevelopers 4 Erstellen unseres Webprojektes HellDevelopers Die Möglichkeiten, die ein Web-Projekt zur Verfügung stellt können Sie im Kapitel 2.1.1 Projekte nachlesen. Das Webprojekt hat folgenden Inhalt: Eine Startseite

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components.

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components. Begriffsdefinitionen Java EE A Java EE component is a self-contained functional software unit that is assembled into a Java EE application with its related classes and files and that communicates with

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte: Installation des GeoShop Redirector für IIS (Stand 24.8.2007) ============================================================= 0 Überblick ----------- Die Installation des GeoShop Redirector für IIS (Internet

Mehr

Content Management mit JSR-170 und dem Open Source CMS Magnolia

Content Management mit JSR-170 und dem Open Source CMS Magnolia Content Management mit JSR-170 und dem Open Source CMS Magnolia Dr. Ralf Hirning LogicaCMG 2006. All rights reserved Agenda Überblick Features Redaktionsprozess Beispielimplementierung Magnolia Editionen

Mehr

Webinar: Einführung in ICEfaces

Webinar: Einführung in ICEfaces Webinar: Einführung in ICEfaces präsentiert von VOIP-Audio ist standardmässig aktiviert Alternatives Einwählen: +41 (0) 415 0008 65 ICESOFT TECHNOLOGIES INC ICESOFT Donnerstag, TECHNOLOGIES 26. März 2009

Mehr

Installationshandbuch. WeLearn Release 2.3.0. für Linux

Installationshandbuch. WeLearn Release 2.3.0. für Linux Installationshandbuch WeLearn Release 2.3.0 für Linux Oktober 2005 Das WeLearn-Team wünscht Ihnen viel Spaß und Erfolg im Arbeiten mit WeLearn. Bei Fragen und Anregungen können Sie uns unter info@welearn.at

Mehr

:HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL

:HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL DNDGLD,QIRUPDWLRQ 7HFKQRORJ\ :HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL Authoren: Christoph Gächter / Martin Zahn Copyright 1999 Akadia AG All rights reserved $NDGLD$* Information

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013 JBoss AS 7 Installation, Konfiguration und Betrieb Alexander Pacnik Karlsruhe, 13.12.2013 Jboss 7 AS... worum es in diesem Vortrag geht. Einführung Installation Konfiguration Management Deployment Betrieb

Mehr

Das WWW im Schweinsgalopp

Das WWW im Schweinsgalopp Das WWW im Schweinsgalopp Woher: T. Berners-Lee The actual observed working structure of the organisation is a multiply connected "web" whose interconnections evolve with time. In this environment, a new

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014 Mobility mit IBM Worklight Erste Schritte zu einer mobilen App Benjamin Stein, Consultant Stuttgart, 03.04.2014 Agenda Was ist IBM Worklight eigentlich? Hintergrund und Idee, Architektur und Bestandteile

Mehr

Crashkurs http - CGI/Servlets(JSF) - Viewer

Crashkurs http - CGI/Servlets(JSF) - Viewer jkrueger(at)cebitec.uni-bielefeld.de http TCP Referenzmodell : ApplicationLayer zustandloses Protokoll textbasiert für Hypertext entwickelt ist es nicht darauf beschränkt Nachrichten : Request : Client

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Web-Design mit JSF und AJAX. Java Enterprise Erkner, 6.1.2007 Carsten Mjartan (mjartan@codecentric.de)

Web-Design mit JSF und AJAX. Java Enterprise Erkner, 6.1.2007 Carsten Mjartan (mjartan@codecentric.de) Web-Design mit JSF und AJAX Java Enterprise Erkner, 6.1.2007 Carsten Mjartan (mjartan@codecentric.de) 0 Agenda Ajax als Web 2.0 Technologie Java-Server Faces 1 Java Server Faces Sun-Spezifikation (JSR-127)

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe«

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe« 201 PhoneGap bringt einen standardisierten Hardwarezugriff für Smartphones mit. Aber was passiert, wenn Sie mehr wollen: Wenn Sie eine Hardware per Bluetooth ansprechen wollen oder Features der jeweiligen

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 7 Serverseitige Web-Technologien [WEB7] Rolf Dornberger 1 06-11-12 7 Serverseitige Web-Technologien 1. Begriffe Zusatz für Interessierte: 2. JSP erstellen 3. Servlet erstellen

Mehr

DOKUMENTATION. CaptchaAd mit Java. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen

DOKUMENTATION. CaptchaAd mit Java. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen CaptchaAd mit Java Stand: 26. Juli 2011 Sehr geehrter Nutzer von CaptchaAd! Damit die Integration von CaptchaAd Ihnen noch leichter fällt, haben wir die notwendigen Schritte in diesem Leitfaden zusammen

Mehr

Kurzanleitung - XVA Provider unter Mac OSX 10

Kurzanleitung - XVA Provider unter Mac OSX 10 Kurzanleitung - XVA Provider unter Mac OSX 10 Installation und Bedienung- Inhalt Allgemeine Hinweise:... 1 Kapitel 1 Installation und Konfiguration... 2 Schritt 1: Java SE Development Kit 6 installieren:...

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Beispiel Framework: Struts Was ist? Open Source Framework zum Bau von Web Applikationen Home Page http://jakarta.apache.org/struts Teil des Apache Jakarta Project Unterstützt

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Enterprise Edition Teil 4 Schnittstellen el0100 copyright W. G. Spruth, wgs 04-10

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Wordpress am eigenen Server installieren

Wordpress am eigenen Server installieren Wordpress am eigenen Server installieren Voraussetzung: Zugang zum Server und einen Datenbanknamen und Datenbankuser 1. Download der aktuellen Wordpress-Version unter http://wpde.org/download/ Die Installation

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr

Servlets und Java Server Pages

Servlets und Java Server Pages Java: Kapitel 10 Einführung in die Java Platform, Enterpri Edition (Java EE): Servlets und Java Server Pages Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr.

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr. Installation und Konfiguration Version 1.4 Stand 21.11.2013 TimeMachine Dokument: install.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor

Mehr

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen.

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen. Praktikum Spring MVC Aufgabe 1 Im ersten Teil des Praktikums wird eine Test Webapplikation entwickelt, anhand derer einige Konzepte von Spring nachvollzogen werden können. Dabei handelt es sich um Spring

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur Apache Tomcat Rechner und Netzarchitektur SS 2003 Johannes Jabornig Daniel Peintner Inhalt Einleitung Was sind Servlets und JSP Vorteile Architektur Catalina Jasper Konnektoren Installation / Konfiguration

Mehr

Version 4.4. security.manager. Systemvoraussetzungen

Version 4.4. security.manager. Systemvoraussetzungen Version 4.4 security.manager Systemvoraussetzungen Version 4.4 Urheberschutz Der rechtmäßige Erwerb der con terra Softwareprodukte und der zugehörigen Dokumente berechtigt den Lizenznehmer zur Nutzung

Mehr

Programmieren 2 (Prof. Hasbargen) Klausur

Programmieren 2 (Prof. Hasbargen) Klausur Programmieren 2 (Prof. Hasbargen) 1 Klausur Aufgabe 1 (10 Punkte) Dynamisierung von HTML-Seiten HTML-Seiten sind eine gängige Art und Weise, Informationen darzustellen. Nennen Sie die Gründe, welche Vorteile

Mehr

Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go

Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go Thema Autor Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go Christian Antognini (christian.antognini@trivadis.com) Art der Information Produktübersicht (Mai 2002) Quelle Trivadis

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Software Engineering I

Software Engineering I Software I Übungsblatt 1 + 2 Claas Pinkernell Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Welche Werkzeuge? Programmiersprache Java Integrierte Entwicklungsumgebung Eclipse

Mehr

Einstieg in AJAX-Programmierung

Einstieg in AJAX-Programmierung www.happy-security.de präsentiert: Einstieg in AJAX-Programmierung Autor: Tsutomu Katsura Datum: 26. Mai 2006 Herzlich willkommen zu meinem kleinen Tutorial über AJAX-Programmierung. Ich möchte hier nicht

Mehr

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick rk@aformatik.de aformatik Training & Consulting GmbH & Co. KG

Mehr

JSP und Servlet Programmierung

JSP und Servlet Programmierung Seminarunterlage Version: 5.02 Copyright Version 5.02 vom 1. März 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr