Praktikum aus Softwareentwicklung 2, Stunde 13
|
|
- Joachim Böhler
- vor 6 Jahren
- Abrufe
Transkript
1 Praktikum aus Softwareentwicklung 2, Stunde 13 Lehrziele/Inhalt 1. JSP Custom Tags 2. Applets JSP Custom Tags EL und die JSTL ersetzen Scriptlets in weiten Teilen von Web-Anwendungen, manchmal braucht man aber Funktionen die in der JSTL fehlen. Da wir auf Scriptlets verzichten wollen, um die JSP-Seiten sauber zu halten brauchen wir eine Lösung eigenen Code in Tags zu packen. In JSP können wir dazu Custom Tags implementieren. Seit JSP 2.0 (zeitgleich mit Servlet API 2.4 und J2EE 1.4) gibt es mit Simple Tags und Tag Files bequeme Möglichkeiten eigene Tags zu erzeugen. Vor JSP 2.0 war es komplexer eigene Tags zu implementieren. Sollte es notwendig sein die alte API zu verwenden findet man dazu Dokumentation wenn man nach JSP classic Tags sucht. Tag Files Tag Files sind die einfachste Art eigene Tags zu erstellen. Mit Tag Files kann man Teile einer JSP-Seite auslagern, zb: Header oder Footer die auf allen Seiten einer Webanwendung gleich sind. Tag Files können Parametriert werden, zb: der Titel der Web-Seite im Header. Größere Text-/Html-Blöcke können als Tag-Body übergeben werden. Installiert werden Tag Files indem man sie im Verzeichnis WEB-INF/tags/ (oder einem Unterverzeichnis davon) ablegt, um sie zu nutzen muss man eine taglib-direktive in die JSP-Seite einfügen. Über die taglib-direktive muss angegeben werden welcher Präfix verwendet werden soll und wo die Tags abgelegt sind. In Abbildung 31 ist eine JSP-Seite zu sehen die Tag Files nutzt. In der taglib-direktive ist angegeben, dass die Tags mit dem Präfix psw2tf angesprochen werden, und dass die Tags direkt im Verzeichnis WEB-INF/tags liegen. Das Beispiel nutzt die Tags header, footer und disclaimer. Mit dem Tag header wird der HTML-Seiten-Header eingebunden, er benötigt den Parameter title, dieser wird als Titel der Webseite ausgegeben. Parameter in einem Tag File werden mit der Direktive attribute bekannt gemacht. Die Implementierung ist in Abbildung 32 gegeben. Weiter nutzt die Seite den Tag footer der die Webseite abschließt (siehe Abbildung 33), er ist parameterlos. Und den Tag disclaimer (siehe Abbildung 34) der den übergebenen Body als Parameter verwendet und als Disclaimer-Text ausgibt. Will man Tag Files in mehreren Anwendungen verwenden lohnt es sich diese in eine JAR-Datei zu verpacken. Tag Files in JAR-Dateien müssen im Verzeichnis META-INF/tags/ (oder einem Unterverzeichnis davon) liegen und eine Beschreibung der Tags muss als Tag Library Descriptor vorliegen. Der Aufbau dieser Beschreibungen ist im Abschnitt Simple Tags beschrieben. Markus Löberbauer 2010 Seite 57
2 contenttype="text/html" pageencoding="utf-8"%> prefix="psw2tf" tagdir="/web-inf/tags/" %> <psw2tf:header title="hello Page"/> <h1>hello PSW2 Students!</h1> <p> Welcome to the shiny world of JSP programming. In this course you will learn everything you'll ever need! </p> <psw2tf:disclaimer> Everything written on this page may be exaggerated, or just plain wrong. </psw2tf:disclaimer> <psw2tf:footer /> Abbildung 31) JSP Seite mit Custom Tags aus Tag Files Hello PSW2 Students! Welcome to the shiny world of JSP programming. In this course you will learn everything you'll ever need! Disclaimer Everything written on this page may be exaggerated, or just plain wrong. description="standard header tag for our web application" pageencoding="utf-8"%> name="title" required="true" description="title of the page" rtexprvalue="true"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>${title</title> </head> <body> Abbildung 32) Beispiel Tag mit Parameter (Seiten-Header) description="standard footer for our web application" pageencoding="utf-8"%> </body> </html> Abbildung 33) Beispiel Tag File ohne Parameter (Seiten-Footer) description="web site disclaimer" pageencoding="utf-8"%> <p> Disclaimer<br> <em> <jsp:dobody /> </em> </p> Abbildung 34) Beispiel Tag File das den Body des Tags nutzt (Disclaimer). Simple Tags Tag Files vermeiden Code-Verdopplung in JSP-Seiten, aber wenn man Programmlogik braucht sind Tag Files zu wenig. Dann kommen Custom Tags ins Spiel. Die einfachste Möglichkeit Custom Tags zu programmieren sind Simple Tags. Jeder Simple Tag muss das Interface SimpleTag implementieren, in der Praxis leitet man dafür von der Klasse SimpleTagSupport ab. Die Klassen um Tags zu implementieren liegen im Paket javax.servlet.jsp.tagext. Damit der Web-Container die Tags findet muss man eine Tag Library Description (TLD) schreiben. Markus Löberbauer 2010 Seite 58
3 Abbildung 35 zeigt eine JSP-Seite die Studenten, mit Hilfe des Custom Tags StudentFilter, anzeigt. Mit der Direktive taglib wird die Tag-Library in die Seite eingebunden. Abbildung 36 zeigt den Tag StudentFilterTag. contenttype="text/html" pageencoding="utf-8"%> prefix="psw2tag" uri=" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head><title>students</title></head> <body> <h1>active Students</h1> <ol> <psw2tag:studentfilter activeonly="true" students="${students" var="student"> <li>${student.name</li> </psw2tag:studentfilter> </ol> <h1>all Students</h1> <ol> <psw2tag:studentfilter students="${students"> <li>${var.name</li> </psw2tag:studentfilter> </ol> </body> </html> Active Students 1. Susi Brain 2. Max Power All Students 1. Susi Brain 2. Jack Smart 3. Max Power 4. Anna Cool Abbildung 35) Beispiel-JSP-Seite mit Simple Tags public class StudentFilterTag extends SimpleTagSupport { private String controlvariable = "var"; private boolean activeonly; private Iterable<Student> public void dotag() throws JspException, IOException { JspFragment body = getjspbody(); if (body == null) { return; JspContext context = getjspcontext(); for (final Student student : students) { if (activeonly &&!student.isactive()) { continue; context.setattribute(controlvariable, student); body.invoke(null); public void setstudents(iterable<student> students) { this.students = students; public void setactiveonly(boolean activeonly) { this.activeonly = activeonly; public void setvar(string controlvariable) { this.controlvariable = controlvariable; Abbildung 36) Beispiel Simple Tag; Liefert die Studenten der Reihe nach, gefiltert nach Aktivität Markus Löberbauer 2010 Seite 59
4 Simple Tags erben von SimpleTagSupport und überschreiben die Methode dotag, diese wird zum Rendern des Tags aufgerufen. Der Lebenszyklus eines Tags ist wie folgt: Der Web-Container lädt bei der ersten Verwendung eines Tags die Tag-Klasse und dann 1. erzeugt ein Objekt des gewünschten Tags über den Default-Konstruktor 2. setzt den Jsp-Context über setjspcontext 3. setzt den Eltern-Tag, falls der Tag in einem anderen Tag geschachtelt ist 4. setzt alle Attribute über die Setter-Methoden 5. setzt den Body über setjspbody, falls der Tag einen Body hat 6. ruft die Methode dotag auf 7. verwirft das Tag-Objekt Aus dem Lebenszyklus sehen wir, eine Tag-Klasse benötigt einen parameterlosen Default-Konstruktor und ein Tag-Objekt wird nur einmal benutzt, d.h. man kann sich darauf verlassen, dass die Attribute die richtigen Werte haben; und manuelle Bereinigung des inneren Zustands unnötig ist. <?xml version="1.0" encoding="utf-8"?> <taglib version="2.1" xmlns=" xmlns:xsi=" xsi:schemalocation=" <short-name>psw2tag</short-name> <tlib-version>1.0</tlib-version> <uri> <tag> <name>studentfilter</name> <tag-class> at.jku.ssw.psw2.jsptutorial.tag.studentfiltertag </tag-class> <body-content>scriptless</body-content> <attribute> <name>students</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>java.util.iterable</type> </attribute> <attribute> <name>activeonly</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>boolean</type> </attribute> <attribute> <name>var</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>java.lang.string</type> <description>control variable</description> </attribute> </tag> </taglib> Abbildung 37) Tag Library Descriptor für den Beispiel-Tag StudentFilterTag Markus Löberbauer 2010 Seite 60
5 Abbildung 37 zeigt den TLD für unseren StudentFilter, darin ist festgelegt welche Klasse für den Tag verwendet werden soll und welche Attribute der Tag hat. Ein TLD hat einen eindeutigen Namen (uri), eine Kurzbezeichnung (short-name), eine Version (tlib-version) und optionale Daten wie zb: eine Beschreibung (description) und ein Icon (icon). In einer TLD können beliebig viele Tags (tag) und Tag Files (tag-file) beschrieben werden. Abbildung 38 zeigt die Datenklasse Student für das Beispiel. Ein Student hat einen Namen und einen Status ob er aktiv ist. Abbildung 39 zeigt das Servlet mit der Anbindung an die Geschäftslogik und dem Aufruf der Seite showstudents.jsp. package at.jku.ssw.psw2.jsptutorial.model; public class Student { private final String name; private final boolean active; public Student (final String name, final boolean active) { this.name = name; this.active = active; public String getname() { return name; public boolean isactive() { return active; Abbildung 38) Beispiel-Datenklasse: Student public class ShowStudentsServlet extends HttpServlet protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { dopost(request, protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { request.setattribute("students", getstudents()); RequestDispatcher rd = request.getrequestdispatcher( "/WEB-INF/jsp/showStudents.jsp"); rd.forward(request, response); private Iterable<Student> getstudents() { // read students, e.g. from a database //... return students; Abbildung 39) Beispiel-Servlet: Liest Studenten und leitet an die Beispiel-JSP-Seite weiter Markus Löberbauer 2010 Seite 61
6 Applets Mit Applets hat Sun die Möglichkeit geschaffen Java Programme in Webseiten einzubetten. Applets können mit AWT oder mit Swing entwickelt werden, dazu muss man eine Klasse von java.applet.applet bzw. javax.swing.japplet ableiten. Damit Applets auf dem lokalen Rechner keinen Schaden anrichten können werden sie in einer sicheren Umgebung (Sandbox) ausgeführt. Dadurch wird verhindert, dass: Applets auf das lokale Dateisystem zugreifen, Netzwerkverbindungen aufbauen, gefährliche System-Aufrufe ausführen (zb: System.exit), die Zwischenablage auslesen oder sicherheitskritische System-Properties abfragen. Benötigt man Zugriff auf diese sicherheitskritischen Dinge muss man sein Applet signieren, dann fragt Java den Benutzer ob er dem Applet die Zugriffe erlaubt. Der Lebenszyklus von Applets besteht aus vier Methodenaufrufen: 1. init, wird aufgerufen sobald das Applet geladen wird, hier kann zb: die GUI aufgebaut, Threads gestartet oder Ressourcen geladen werden 2. start, wird jedes Mal aufgerufen wenn das Applet angezeigt wird, zeigt ein Applet eine Animation, kann diese hier gestartet werden 3. stop, der Browser ruft diese Methode wenn das Applet nicht mehr angezeigt wird, hier kann die Animation wieder gestoppt werden 4. destroy, hier können Ressourcen freigegeben werden Wir beschäftigen uns hier mit der Swing-Version von Applets, und wie Swing allgemein sind auch JApplets nicht threadsicher. Das heißt, Änderungen an der GUI müssen im GUI-Thread erfolgen. Abbildung 40 zeigt eine JSP-Seite mit einem Applet, im Tag applet wird festgelegt wie groß das Applet sein soll, wo die Jar-Datei liegt und wie die Applet-Klasse heißt. Im Body des Applet-Tags können Parameter angegeben werden, in unserem Fall wird der Parameter name auf Alex gesetzt. Außerdem ist im Body ein Text hinterlegt der angezeigt werden soll falls der Browser nicht mit Applets umgehen kann. Die Zugehörige Applet-Klasse ist in Abbildung 41 gegeben. contenttype="text/html" pageencoding="utf-8"%> prefix="c" uri=" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>applet Test</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <applet width="200" height="150" code="at.jku.ssw.psw2.applet.testapplet" codebase="<c:url value="/"/>" archive="testapplet.jar"> <param name="name" value="alex"/> Please enable Applets in your browser. </applet> </body> </html> Abbildung 40) Beispiel JSP-Seite mit Applet Markus Löberbauer 2010 Seite 62
7 package at.jku.ssw.psw2.applet; public class TestApplet extends JApplet { private String name; private JLabel public void init() { name = getparameter("name"); try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { label = new JLabel("Name: " + name); getcontentpane().add(label, BorderLayout.CENTER); ); catch (Exception ex) { Logger.getLogger(TestApplet.class.getName()).log(Level.SEVERE, null, ex); // allocate resources public void start() { // start animations public void stop() { // stop animations public void destroy() { // cleanup resources here Abbildung 41) Beispiel Applet, zeigt den Wert des Parameters "name" in einem Label an Markus Löberbauer 2010 Seite 63
Praktikum aus Softwareentwicklung 2, Stunde 11
Praktikum aus Softwareentwicklung 2, Stunde 11 Lehrziele/Inhalt 1. Java Servlet Java Servlet Java Servlets sind auf Java basierende Web-Komponenten. Sie werden von einem Container verwaltet und können
MehrPraktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -
Praktikum Datenbanken und verteilte Systeme SS 2008 - Java Server Pages und Servlets - Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg Infrastruktur vsispoolx
MehrJava 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
MehrJava 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
MehrSchritt 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
MehrSicherheit. 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:
Mehri 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
MehrEinleitung 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
MehrApplets 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,
MehrPraktikum 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:
MehrJ 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?
Mehr4. 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
MehrApplets I. Grundlagen der g Applet-Programmierung
Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung
MehrWeb 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,
MehrJava 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
MehrEinstieg in die Informatik mit Java
1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet
MehrDer 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.
MehrInhalt: 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.
MehrApplets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.
Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung
MehrEinfü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:
MehrUniversität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets
Kapitel 3: Java Applets 1 Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite Anfang des umgebenden HTML-Textes
MehrPraktikum 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
MehrApplication 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
MehrJSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel ralf_gitzel@hotmail.de
JSP JSTL JEE Vorlesung Teil 6 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Wiederholung / Vertiefung JSTL Grundlagen JSTL Basisbefehle Templates über JSTL
MehrWeb- 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
MehrRemote- 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
MehrProgrammieren 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
MehrKomponentenorientierte Software-Entwicklung. Seite 1 / 42
Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object
MehrÜ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
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrJava 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
MehrEinführung. Ralf Gitzel
Einführung Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept JSP Beispiel Szenario Java Code in JSPs Unsere erste JSP Skriptfreie Seiten JSTL 3 JSP
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrWeb-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
MehrProgrammieren von Webinformationssystemen
Programmieren von Webinformationssystemen Wolfgang Gassler Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 HTML Hypertext Markup
MehrAufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected
Universität Augsburg, Institut für Informatik Sommersemester 2006 Prof. Dr. Werner Kießling 14. Oktober 2006 Markus Endres, Alfons Huhn, Timotheus Preisinger Informatik II Klausur 2 Hinweise: Die Bearbeitungszeit
MehrAK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de
Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben
MehrSchritt 1: Java im Web
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
MehrWebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.
Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java
MehrErstellung 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
MehrGrundlagen der Programmierung APPLETS
Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
MehrFHZ. 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
MehrAsynchrone 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
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrDatenbanken: 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
MehrDHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;
Mehr2.2 Prozesse in Java
2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.
Mehr13 Applets Applets. Parameter Kommunikation mit dem Browser
13 Applets 13-1 Inhalt Applets Einführung Initalisierung Parameter Kommunikation mit dem Browser Sicherheit Übungsaufgaben Einführung Applets sind im Prinzip Komponenten, die in eine Web-Seite eingelagert
Mehre-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)
MehrJava - 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
MehrJava I Vorlesung 11 Graphische Oberflächen mit Swing
Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java
MehrSchritt 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
MehrWeb-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
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrWorkshop Java Webentwicklung Tapestry. Ulrich Stärk
Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrProgrammieren 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
MehrAnwendung 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
MehrJava 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
MehrJSP mit Tomcat. jetzt lerne ich. Der einfache Einstieg ins dynamische Webpublishing mit JavaServer Pages. Markt+Technik
jetzt lerne ich JSP mit Tomcat Der einfache Einstieg ins dynamische Webpublishing mit JavaServer Pages MICHAEL SEEBOERGER-WEICHSELBAUM Markt+Technik Vorwort Einleitung 1 1.1 1.2 1.3 1.4 1.5 1.5.1 1.5.2
MehrJava Game Development Fabian Birzele Programmierpraktikum 2008 / 2009
Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009 Fabian Birzele, LMU Institut für Informatik, Lehrstuhl für Praktische Informatik und Bioinformatik, 2008: Programmierpraktikum 1 Ziele
MehrJava Beans. http://java.sun.com/beans/
Java Beans http://java.sun.com/beans/ Software Komponenten Eine Software Komponente ist ein eigenständiges, flexibles und einfach wieder verwendbares Stück Software. In Java: + Plattformunabhängigkeit
MehrClient/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung
Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)
MehrÜbung 1: Object Inspector
Übung 1: Object Inspector Es ist ein System zu entwickeln, mit dem man Objektstrukturen bezüglich ihrer Properties analysieren und dann in einem Tree Viewer (JTree) anzeigen und bearbeiten kann. Properties
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrJava Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrJava Servlet Technology
0 Java Servlet Technology Seminar Medientechnik Christina Eicher 30. Juni 2003 1 Übersicht: 1. Was ist ein Servlet? 2. Cookies und Sessions 3. Die Servlet-Klassen und das Servlet-Interface 4. Der Servlet-Container
MehrWie ich lernte die API zu lieben. 19. März 2013. bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell
Burp- Burp- Wie ich lernte die zu lieben 19. März 2013 bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Was erwartet uns? Das erwartet euch Theorie:
MehrProgrammierung 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,
Mehr6.9 Java Server Pages
DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException
Mehr7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
MehrOWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes
OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
MehrJavakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
MehrAuslieferungsmethoden 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
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrGrundlagen der Informatik für Ingenieure I
6 Applets 6.1 Applets 6.3 Painting 6.4 Applet - HTML-Umgebung.1 6.1 Applikationen - Applets 6.1 Applikationen - Applets Java-Applikationen laufen auf dem Rechner ab, auf dem sie gestartet werden. Die Programme
MehrInhaltsverzeichnis. Zusammenfassung Wydler
Inhaltsverzeichnis 1 Multitier Anwendungen... 2 2 J2EE Komponenten... 2 2.1 J2EE Design Patterns for Performance... 2 2.1.1 Design Patterns... 2 2.1.2 Session Façade... 2 2.1.3 Data Transfer Object (Value
MehrAllgemeine Informatik II SS :30-13:30 Uhr
TU Darmstadt FB Informatik Prof. J. Fürnkranz Vordiplomsklausur - Lösungsvorschlag Allgemeine Informatik II SS 2005 15.09.2005 11:30-13:30 Uhr Hinweise: Als Hilfsmittel ist nur ein schwarzer oder blauer
MehrHandbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
MehrSoftware Engineering II
Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters
MehrScriptless JSP. Motivation. Expression Language (EL) JSP Standard Tag Library (JSTL)
Scriptless JSP Motivation Expression Language (EL) JSP Standard Tag Library (JSTL) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation: EL public class Car { public Engine getengine() {}
MehrJava-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
MehrDOKUMENTATION. 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
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE24-KlassenUndObjekteFort (Stand 28.09.2012) Aufgabe 1: Implementieren Sie eine Klasse Student. Die Klasse soll eine Methode immatrikulieren haben,
MehrJSP 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
MehrSitzungszustand. 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)
MehrProgrammieren von Webinformationssystemen
Programmieren von Webinformationssystemen Nikolaus Krismer Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 PHP Ursprünglich:
MehrJSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de
JSP Grundlagen JEE Vorlesung Teil 5 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept Model-View-Controller mit JSPs JSP Expression Language EL Literale
MehrEinführung in. JNLP und Java Web Start
Einführung in Reiner Eberhard, Thomas Forster 1 Arten der Softwareverteilung: Windows.exe Dateien Java Applikationen HTML Anwendungen (Servlets / JSP) Java Applets 2 Derzeitige Problemfelder: Windows.exe
MehrApplications Applets (eingeschränkte Rechte)
1 Arten von Java-Programmen Man unterscheidet 2 verschiedene Arten von Java-Programmen: Applications Applets (eingeschränkte Rechte) Erstere sind eigenständige Programme. Letztere sind "kleine" Programme,
MehrJava für Computerlinguisten
Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009
MehrAndroid Processes & Services
Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)
Mehr