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

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Schritt 5: Session Beans

Schritt 5: Session Beans Prof. Dr. Th. Letschert FB MNI JEE Schritt 5: Session Beans Session Beans Übersicht Session Beans dienen dazu serverseitige Geschäftsprozesse zu realisieren. Es gibt sie drei Zustands Varianten: Stateless

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

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

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

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

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

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

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Nullwerte und Primitive Typen Wenn parent==null, was wird in der Datenbank gespeichert? Wenn man aus der DB liest, wie kann

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

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

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik Programmieren II Remote-Programmierung KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote-Programmierung Remote Method Invocation

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

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

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

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

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

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

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

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 23 2 / 23 Wie kommen Daten von einem Webserver? In der Praxis existieren verschiedene Wege, wie ein Server einem Client zu

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

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung VI. JavaServets u. Java Server Pages (JSP) mailto:wpr@gruner.org 1 14.1 Java Servlets Java Servlets = Java-Klassen Dynamisches Laden beim Aufruf Laufzeitumgebung = Servlet-Container

Mehr

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov Überblick Einleitung JSP im Kontext von J2EE JSP2 Benutzerdefinierte Tags Zusammenfassung Einleitung Java Server Pages ist eine Technik

Mehr

Der IBM Websphere Portalserver

Der IBM Websphere Portalserver Der IBM Websphere Portalserver Ergebnisse aus dem Universitäts-Praxis-Projekt 2001/2002 Vortrag von Il-Hyun Kim und Horst Rechner am 19. Juli 2002 Weiterer Teilnehmer am UPP: Clemens Oertel Betreuer: Dipl.-Phys.

Mehr

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Im Folgenden wird die Installation von MySQL 5.0 und Tomcat 5.0 beschrieben. Bei MySQL Server 5.0 handelt es sich um ein

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

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

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9b: Datenbankapplikationen Statische Web-Seiten Nutzung von HTML Beispiel:

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

Projekt Systementwicklung. Wie kommen Daten von einem Webserver? Java-Applikationsserver. Servlets, JSP. Handout S. 1. Dr.

Projekt Systementwicklung. Wie kommen Daten von einem Webserver? Java-Applikationsserver. Servlets, JSP. Handout S. 1. Dr. Projekt Systementwicklung Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2009/2010 1 / 32 Wie kommen Daten von einem Webserver? In der Praxis existieren verschiedene Wege, wie ein Server einem Client

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Interaktive Medien 2

Interaktive Medien 2 Hochschule der Medien Interaktive Medien 2 Client-Server Anwendungen im Netz Aufgaben und Übungen Prof. Uwe Schulz Sommersemester 2006 Installation der Programme auf der Begleit-CD Die Begleit-CD enthält

Mehr

Auslieferungsmethoden im Performancevergleich Zieleinlauf mit Java

Auslieferungsmethoden im Performancevergleich Zieleinlauf mit Java Auslieferungsmethoden im Performancevergleich Zieleinlauf mit Java Dominik Gruntz & Hans-Peter Oser Fachhochschule Aargau/Nordwestschweiz d.gruntz@fh-aargau.ch & h.oser@fh-aargau.ch Im ix 3/2005 wurde

Mehr

Schritt 2: Mach es bequemer mit JSP

Schritt 2: Mach es bequemer mit JSP Prof. Dr. Th. Letschert FB MNI JEE 1 JSP Java Server Pages JSP Basiselemente Schritt 2: Mach es bequemer mit JSP Erstes Beispiel JSP ist wie PHP, nur anders. PHP ist (normalerweise) eine serverseitge Skriptsprache

Mehr

Webanwendungen mit Java

Webanwendungen mit Java Vorlesungsreihe Entwicklung webbasierter Anwendungen Webanwendungen mit Java Prof. Dr.-Ing. Thomas Wiedemann email: wiedem@informatik.htw-dresden.de HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH) Fachbereich

Mehr

Kapitel 5 Serverseitige Technologien

Kapitel 5 Serverseitige Technologien Kapitel 5 Serverseitige Technologien Multimediale Web-Anwendungen Dr. E. Schön Sommersemester 2015 Folie 70 SSI-Beispiele Uhr

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

Webbasierte Informationssysteme

Webbasierte Informationssysteme Beispiel: Web-Shop SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Applikation Software Client Web-Shop,... Web-Browser mit Applet,...??? Server Produkt- Datenbank Web-Server, Servlet Datenbank,...

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

e-commerce Running Tomcat

e-commerce Running Tomcat e-commerce Running Tomcat Servlets im Tomcat Web-Container deployen Prof. Dr. Nikolaus Wulff Das BookStore Servlet Prof. Dr. Nikolaus Wulff ecommerce 2 HTTP und HTML Das HyperText TransferProtokoll (HTTP)

Mehr

Einleitung. Gliederung. Struts-Framework. Model-View-Controller-Pattern

Einleitung. Gliederung. Struts-Framework. Model-View-Controller-Pattern Struts-Framework Model-View-Controller-Pattern STRUTS Open Source Web Application Framework Unterprojekt des Apache Jakarta Basierend auf: JSP, Servlets, JavaBeans Model View Controller Architektur Dipl.-Inf.

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

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

Übungsaufgaben Java. Vorlesung Cloud Computing SoSe 2009. Cloud Computing SoSe 2009 Dr. M.Kunze 1

Übungsaufgaben Java. Vorlesung Cloud Computing SoSe 2009. Cloud Computing SoSe 2009 Dr. M.Kunze 1 Übungsaufgaben Java Vorlesung Cloud Computing SoSe 2009 Cloud Computing SoSe 2009 Dr. M.Kunze 1 Übung J1 Installieren Sie das Java Software-Entwicklungspaket JDK 6 Update 13 http://java.sun.com/javase/downloads/index.jsp

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

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

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

JSF (JavaServer Faces) Erstellen einer Webseite

JSF (JavaServer Faces) Erstellen einer Webseite Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF (JavaServer Faces) Erstellen einer Webseite Dipl. Inf. Manuel Götz Dipl. Inf.

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

Asynchrone Webservices mit Axis 1.x in Java

Asynchrone Webservices mit Axis 1.x in Java Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich

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

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

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

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder Michael Greifeneder OSGi The Next Generation Java Service Platform SOA - The Java Way or My classpath is killing me Bilder von Peter Kriens W-JAX Keynote 2007 und Neil Bartletts Getting Started with OSGi

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 06: Webprogrammierung Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 22 Inhalt Vorlesungsüberblick

Mehr

Daten als XML empfangen Ajax und Server-Programme bieten ein DOM-Document-Objekt, das bereits fertig ist.

Daten als XML empfangen Ajax und Server-Programme bieten ein DOM-Document-Objekt, das bereits fertig ist. #4 Daten als XML empfangen HACK #4 Hack Daten als XML empfangen Ajax und Server-Programme bieten ein DOM-Document-Objekt, das bereits fertig ist. #4 Viele Techniken tauschen momentan Daten im XML-Format

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

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

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

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

J a v a S e r v l e t s

J a v a S e r v l e t s J a v a S e r v l e t s Eine Einführung (C) J.M.Joller 1 Inhalt Mitgelieferte Bibliothekselemente Überblick Funktionsweise und Architektur Interaktion Resümee (C) J.M.Joller 2 Überblick Was sind Servlets?

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

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

Vertiefte Grundlagen Graphentheorie

Vertiefte Grundlagen Graphentheorie Bauinformatik Vertiefte Grundlagen Graphentheorie 6. Semester 8. Übung Webservices Technische Umsetzung am Beispiel Flächenträgheitsmoment äg e e und Biegemoment e Benutzte Software ECLIPSE: Programmierumgebung

Mehr

Wahlpflichtfach Streaming Media

Wahlpflichtfach Streaming Media Wahlpflichtfach Streaming Media Gregor Franzen TM061023 Ines Schwaighofer TM061102 In dem Wahlpflichtfach Streaming Media beschäftigen sich verschiedene Gruppen von Studierenden mit unterschiedlichen Streaming-Technologien.

Mehr

Auszug aus Axis2 Übungen

Auszug aus Axis2 Übungen Auszug aus Axis2 Schulung -1- Auszug aus Axis2 Übungen Version 1.1 Dieses Dokument ist ein Auszug aus unserem Übungsskript zur Axis2-Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen.

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

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

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6.

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6. Seminar Webprogrammierung WS04/05 6. Juni 2005 1 Einleitung Die Vorgeschichte Java-Servlets 2 Merkmale Von der JSP zur HTML-Ausgabe Syntax 3 4 5 Die Vorgeschichte Java-Servlets Einleitung Ansätze für dynamische

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

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

Überblick über Internet-Technologien

Überblick über Internet-Technologien WebServer-Technologien SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Überblick über Internet-Technologien Server-Technologien XSP Java Server Pages

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

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

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

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

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

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 16. DFN-Cert Workshop

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

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

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

4 Arbeiten mit einfachen Actions

4 Arbeiten mit einfachen Actions 29 4.1 Das»C«in Model-View-Controller Der Controller ist der Mechanismus, der den Applikationsfluss verwaltet. In Struts wird diese Managementrolle von einem zentralen ActionServlet übernommen. Die Regeln

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

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

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

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

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

AJAX Implementierung mit Joomla!

AJAX Implementierung mit Joomla! Joomla! DAY TM AUSTRIA 2015 AJAX Implementierung mit Joomla! Inhalt AJAX Implementierung mit Joomla! Inhalt Einleitung Was ist AJAX und wie funktioniert es Joomla! & AJAX AJAX in Templates mit Komponenten

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

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt Inhalt 1. Grundlagen 1. Einführung 2. Programmieren für das Web 2. Servlets 3. JSP (Java Server Pages) 4. Beispiel Country 1. Dateneingabe von Benutzer 2. Parameterübergabe 3. Auswerten eines Formulars

Mehr

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011 Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 3-1 Übungsblatt - 3 Thema: JavaScript

Mehr