Web- Applikationen. in Java-Web



Ähnliche Dokumente
JSP und Servlet Programmierung

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

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Planung für Organisation und Technik

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Java Webentwicklung (mit JSP)

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

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

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

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

MCRServlet Table of contents

Vertiefte Grundlagen Graphentheorie

Henning Mersch. Tomcat. im Rahmen des RBG-Seminar SS04. Apache-Jakarta-Tomcat-Server RBG-Seminar 1/17

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

JSP vs. PHP. Ein persönlicher Vergleich. EQUIcon Software GmbH Jena, Jörg Spilling Frankfurter Treffen Agenda

Tomcat Konfiguration und Administration

Fortgeschrittene Servlet- Techniken. Ralf Gitzel

WebService in Java SE und EE

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel

MailUtilities: Remote Deployment - Einführung

E-Learning-Content. E-Learning-Content wird von vielen Hochschullehrern in unterschiedlichstem Umfeld hergestellt

Übungen zur Softwaretechnik

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

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Grundlagen von Python

Übung: Verwendung von Java-Threads

6.9 Java Server Pages

Einbindung des Web Map Service für Gemeinden Anleitung

Java - Webapplikationen

Internet und WWW Übungen

Installation der SAS Foundation Software auf Windows

Workflow, Business Process Management, 4.Teil

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Integration Billpay in Intershop 7

Unsere Webapplikation erweitern

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Programmieren in Java

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Web 2.0 Software-Architekturen

FH LU JEE Vorlesung SS Ralf Gitzel

Übung - Datensicherung und Wiederherstellung in Windows Vista

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

BFV Widget Kurzdokumentation

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

Xampp-Installation und Konfiguration. Stefan Maihack Dipl. Ing. (FH) Datum:

Powermanager Server- Client- Installation

Applet Firewall und Freigabe der Objekte

Installations Guide für YAJSW und DTLDAP

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Applets I. Grundlagen der g Applet-Programmierung

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz

Benutzerhandbuch MedHQ-App

Installation OMNIKEY 3121 USB

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens

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

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Internetanbindung von Datenbanken

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

3. Stored Procedures und PL/SQL

Wir wünschen Ihnen viel Freude und Erfolg mit Ihrem neuen X-PRO-USB-Interface. Ihr Hacker-Team

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Installation Messerli MySQL auf Linux

Inhaltsverzeichnis. Beschreibung. Hintergrund

MVC-II Schematische Aufzeichnung Des MVC (model-2), bei dem zwei Modelle zum Zuge kommen:

Neuerungen bei Shibboleth 2

Architektur des agimatec-validation Frameworks

PCC Outlook Integration Installationsleitfaden

Java zur Realisierung von Internetanwendungen

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Stand: Dokumentenverwaltung Modulbeschreibung

Java Einführung Packages

Beschreibung des MAP-Tools

Web Application Security

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Persönliches Adressbuch

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

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

Übung - Verwaltung der Gerätetreiber mit dem Geräte-Manager in Windows 7

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Veröffentlichen von Apps, Arbeitsblättern und Storys. Qlik Sense Copyright QlikTech International AB. Alle Rechte vorbehalten.

teischl.com Software Design & Services e.u. office@teischl.com

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

OP-LOG

proles-login. Inhalt [Dokument: L / v1.0 vom ]

Themen. Web Service - Clients. Kommunikation zw. Web Services

Installationshinweise für Serverbetrieb von Medio- Programmen

PDF-AS Webanwendung Dokumentation

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

SSO-Schnittstelle. Inhalt: Beschreibung der Single Sign-On (SSO) Schnittstelle. NetSlave GmbH Simon-Dach-Straße 12 D Berlin

Transkript:

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 definiert, die erst vom Servlet-Container erfüllt wird Programmierung gegen Interfaces Folge: Servlet Container oder Application Server ist Voraussetzung für Java Web-Applications

Zutaten Application Server / Servlet Container. Hier: Tomcat 5.5 Konfiguration des Servlet Containers. Hier: ${tomcat_home}/conf/server.xml Konfiguration der Web-Applikation: ${webapproot}/web-inf/web.xml JSPs Servlets weitere Klassen / Bibliotheken

Servlet Container: Einführung Projektseminar Informationssysteme 02.05.2007 Konfiguration (1) ${tomcat_home}/conf/server.xml: Konfiguration des Servlet Containers. Nicht standardisiert. Definition der Web Application Contexts Alternativ: Definition eines "default-verzeichnisses" für webapps; dann Interpretation aller Unterverzeichnisse als Kontext Kontext: Erster Teil der URL nach dem Servernamen. z.b.: http://localhost:8080/myapp/web/page/x. Kontext: myapp

Konfiguration (2) Web-Applikation Verzeichnislayout: Hauptverzeichnis des Kontextes ("Kontextverzeichnis"): context/ Konvention: Informationen zur Web-Applikation / Klassen / Ressourcen. Von außen nicht sichtbar: context/web-inf/ Konfigurationsdatei ("deployment descriptor") der Web- Applikation. context/web-inf/web.xml.class-files der Webapplikation. Ordner wird vom Container automatisch in den Classpath gelegt. context/web- INF/classes/.jar-Files der Webapplikation. Jedes.jar-File wird automatisch in den CP gelegt. context/web-inf/lib/

Konfiguration (3) Nachtrag Servlet-Container:.jar-Files für alle Web-Applikationen im Container sowie Tomcat selbst: ${tomcat_home}/common/lib.jar-files für alle Web-Applikationen und NICHT für Tomcat: ${tomcat_home}/shared/li

Details: web.xml Beinhaltet Konfiguration für Web-Applikation, z.b.: Name der Webapplikation Servlet-Filter Kontext-Parameter (Application Properties) Servlet-Definitionen & Mappings Error-Pages, Taglib-Definitionen, Welcome-Files Minimal ist nur webapp-root-tag erforderlich (Beispiel) Ein umfangreicheres Beispiel liegt hier

Weitere Ressourcen Servlet-Spec Java ist auch eine Insel Tomcat Application Development Guide JSP-Syntax (PDF)

Servlets vs. JSPs generell: gleichmächtig (JSPs werden vor Ausführung in Servlets konvertiert) JSP-Ansatz: HTML-Code mit Java-Code-Snippets und Tags Servlet-Ansatz: Java-Klasse. Aufruf einer entsprechenden service-methode. Für Servlets allgemein: service() Für HTTP-Servlets weiter gekapselt in doget, dopost, doput, dodelete,...

Parameter und Attribute 4 Gültigkeitsbereiche: Application (Context), Session, Request, Page Application: Definition von applikationsglobalen Parametern (Strings) in web.xml Session: Benutzerspezifische Attribute (Object) Request: Requestspezifische Parameter (Strings per Request übergeben) und Attribute (Objects, durch JSP und Servlets in den Request gelegt) Page: Attribute (Objects), die nur innerhalb der aktuellen JSP gültig sind

Zugriff auf Parameter und Attribute (1) Aus JSPs heraus über implizit vorhandene Objekte: request (javax.servlet.http.httpservletrequest) response (javax.servlet.http.httpservletresponse) out (javax.servlet.jsp.jspwriter) application (javax.servlet.servletcontext) session (javax.servlet.http.httpsession) pagecontext (javax.servlet.jsp.pagecontext) page (Object (this))

Zugriff auf Parameter und Attribute (2) Aus Servlets heraus: request: übergebener Wert response: übergebener Wert out: response.getwriter() oder response.getoutputstream() application: getservletcontext() session: request.getsession() pagecontext/page: nicht relevant

Weiterleitung Interne Weiterleitung (forward) Interne Weiterleitung findet innerhalb des Servlet-Containers statt (gleicher Thread) erlaubt Weitergabe von zusätzlichen Request-Parametern im Client-Browser weiterhin ursprüngliche URL sichtbar Weiterleitung von Serlvet zu Servlet oder von Servlet zu JSP Externe Weiterleitung (redirect) Externe Weiterleitung fordert den Client-Browser auf, andere Seite zu laden (HTTP Redirect) Initiiert zusätzlichen HTTP-Request Beispiel

JSP-Snippets Snippets JSPs sind Kombination von HTML mit JSP-Snippets und Tags Ein JSP-Snippet beinhaltet Java-Code, der (je nach Snippet-Typ) in spezielle Klammern eingeschlossen ist Mögliche Snippets

JSP-Tags Ein JSP-Tag ist eine Java-Klasse, die mindestens das Interface javax.servlet.jsp.tagext.tag implementiert, meistens jedoch wegen deutlich höherer Bequemlichkeit javax.servlet.jsp.tagext.bodytagsupport ableitet JSP-Tags müssen in einer Taglib-Definition definiert werden, welche dann in der JSP mittels <%@taglib - Direktive eingebunden wird JSP-Tags werden in der JSP analog zu XML-Tags benutzt; die implementierende Klasse hat Zugriff auf Attribute, Body etc. und kann den auszugebenden Body modifizieren. Eine Standardbibliothek mit nützlichen Tags ist die Standard Taglib Library (JSTL). Beispiele dafür gibt's mit: Google "JSTL examples"

Datenzugriff Gleiches Prinzip wie in DBS1 vorgestellt: Datenbanktreiber in Klassenpfad legen Treiber laden (damit implizit beim java.sql.drivermanager registrieren) Connection holen Statement vorbereiten Statement ausführen & ResultSet holen ResultSet anzeigen Codeschnipsel zum DBS1-Beispiel

Zusammenfassung Java-Programmierung ist mehr als Syntax lernen Kontext, WEB-INF-Verzeichnis, Deployment- Descriptor Servlets / JSPs Forward vs. redirect 4 scopes: application, session, request, page JSP-Snippets Datenzugriff

Zweite Übungsaufgabe Installation / Konfiguration von Java 1.5 und Tomcat 5.5.* Erste JSP-Schritte mit Tomcat Datenzugriff mit JSPs unter Tomcat -------------------------------------------------------------- Kombination Tomcat / Apache Servlets Entwicklungsumgebung Logging Integration von Tests

Fragen?