Beuth Hochschule für Technik Berlin, FB VI Informatik und Medien Software Engineering (SE II), 2. Kapitel: Wir bauen uns eine Web-Applikation.



Ähnliche Dokumente
Kurzeinführung Excel2App. Version 1.0.0

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Ihr CMS für die eigene Facebook Page - 1

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Um eine Person in Magnolia zu erfassen, gehen Sie wie folgt vor:

Eigene Seiten erstellen

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

SANDBOXIE konfigurieren

Datenbanken Kapitel 2

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

E-Cinema Central. VPN-Client Installation

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Erstellen eines HTML-Templates mit externer CSS-Datei

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Hilfe zur Urlaubsplanung und Zeiterfassung

YouTube: Video-Untertitel übersetzen

Individuelle Formulare

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

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

ELO Print&Archive so nutzen Sie es richtig

Datenaustausch mit dem BVK Data Room

Tutorial -

Handbuch zum Excel Formular Editor

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Arbeiten mit dem Outlook Add-In

Dokumentenmanagement mit hyscore

Professionelle Seminare im Bereich MS-Office

Erste Schritte mit WordPress Anleitung WordPress Version 2.8.X

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

5. Übung: PHP-Grundlagen

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

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

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Bauteilattribute als Sachdaten anzeigen

WordPress. Dokumentation

SJ OFFICE - Update 3.0

KURZANLEITUNG MSDAS DMS SYSTEM - SILVERDAT II SCHNITTSTELLE

Artikel Schnittstelle über CSV

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Kleines Handbuch zur Fotogalerie der Pixel AG

Kurzeinführung Moodle

Hilfe zur Dokumentenverwaltung

Programmteil Bautagebuch

Kurzanweisung für Google Analytics

Dokumentation: Balanced Scorecard

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Bedienung des Web-Portales der Sportbergbetriebe

Herzlich Willkommen bei der BITel!

Schulberichtssystem. Inhaltsverzeichnis

Datenaustausch mit dem BVK Data Room

Live Update (Auto Update)

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

Biogena IMK. Individuelle Mikronährstoff Komponenten. Benutzerhandbuch. Natürlich so individuell wie Ihr Patient

Einbindung einer ACT!12-16 Datenbank als Datenquelle für den Bulkmailer 2012

Wie richten Sie Ihr Web Paket bei Netpage24 ein

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

Konfiguration eines DNS-Servers

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Neue Steuererklärung 2013 erstellen

Access Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Schritt 1. Schritt TUTORIALS. Vorbemerkung:

Anleitung für den Datenaustausch mit mobile.de

Adminer: Installationsanleitung

FastViewer Remote Edition 2.X

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Beschaffung mit. Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System

Lizenzierung von StarMoney 9.0 bzw. StarMoney Business 6.0 durchführen

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

BEDIENUNGSANLEITUNG: EINREICH-TOOL

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Sichern der persönlichen Daten auf einem Windows Computer

1. Bearbeite Host Netzgruppen

Einkaufslisten verwalten. Tipps & Tricks

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen hinter AVM FRITZ!Box

Einrichtung eines -Kontos bei Mac OS X Mail Stand: 03/2011

IAWWeb PDFManager. - Kurzanleitung -

IDEP / KN8 für WINDOWS. Schnellstart

Strategie & Kommunikation. Trainingsunterlagen TYPO3 Version 4.3: News Stand

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Updatehinweise für die Version forma 5.5.5

Umstellung und Registrierung Release

einrichtung in den kaufmännischen Programmen der WISO Reihe

Durchführung der Datenübernahme nach Reisekosten 2011

Import des persönlichen Zertifikats in Outlook 2003

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Transkript:

Kapitel WIR BAUEN UNS EINE WEB-APPLIKATION (DRITTER TEIL) 2.10 Eine Benutzungsoberfläche mit JSF (Dritte Fingerübung) Technische Voraussetzungen 2.11 Die generelle Struktur von JSF Navigation zwischen den Webseiten Deklaration der JavaBeans 2.12 Die Eigenschaftsdatei (messages.properties) erstellen 2.13 Die JSP-Dateien bearbeiten JSP-Datei choosetable.jsp Automatische Validierung der Benutzereingaben JSP-Datei showtable.jsp JSP-Datei index.jsp 2.14 Tomcat konfigurieren 2.15 Überprüfung der Web-Applikation Dieses Manuskript steht allen Teilnehmern der Lehrveranstaltung Software Engineering (SE) an der Technischen Fachhochschule Berlin als unterrichtsbegleitendes Lehrmaterial frei zur Verfügung. Die Nutzung durch andere Personen oder zu anderen Zwecken bedarf zur Vermeidung möglicher Verletzungen des deutschen Urheberrechts der vorherigen Inkenntnissetzung und Erlaubnis des Autors. Seite 1 von 9

2.10 Eine Benutzungsoberfläche mit JSF (Dritte Fingerübung) JavaServer Faces ist ein Framework, das Sie bei der Entwicklung der Benutzungsoberfläche einer Web-Applikationen unterstützt. Es bietet einige interessante Leistungsmerkmale: Einfache Webseitennavigation (faces-config.xml) Standard-Interaktionselemente (Eingabefeld, Schaltfläche, Verknüpfung etc.) Automatische Validierung von Benutzereingaben Fehlerbehandlung JavaBean-Management (faces-config.xml) Ereignisbehandlung Unterstützung mehrsprachiger Web-Anwendungen (messages.properties) Wir werden unsere erste Fingerübung, in der wir ein einzelnes Servlet index.jsp erstellt haben, das fest verdrahtet auf die Tabelle Item der Oracle-Datenbank zugegriffen hat, um eine komfortable Benutzungsoberfläche erweitern. Auf einer ersten Webseite werden wir eine Tabelle auswählen können (aus den drei verfügbaren Tabellen Order, Item und Inventory), und auf der zweiten Webseite wird uns der Inhalt dieser Tabelle angezeigt. Technische Voraussetzungen JavaServer Faces besteht aus einigen JAR-Komponenten. Sie finden diese in dem Archiv JavaServer Faces auf der Manuskriptseite http://www.ziemers.de/tfh/se/manuskript2.html. Packen Sie einfach alle Dateien, die in dem Zip-Archiv enthalten sind, in den Tomcat-Ordner %CATALINA_HOME%\webapps\fingeruebung\WEB-INF\lib. 2.11 Die generelle Struktur von JSF Das Servlet JavaServer Faces bearbeitet ( rendert ) einzelne JSP-Dateien *.jsp, in denen die Webseiteninhalte der Web-Applikation und zusätzliche Metainformationen abgelegt sind. Zwischen diesen Webseiten wird mittels Regeln navigiert, die in einer Datei namens facesconfig.xml abgelegt werden. In den Webseiten können ferner Namen-Werte-Paare verwendet werden, deren Werte einmalig in einer Eigenschaftendatei messages.properties definiert sind. Seite 2 von 9

Navigation zwischen den Webseiten Die Regeln der Navigation zwischen den einzelnen Webseiten ist der Kern von JSF. Sie werden in der Datei faces-config.xml festgelegt. Legen Sie die Datei im Ordner %CATALINA_HOME%\fingeruebung\WEB-INF an: 01 <?xml version="1.0"?> 02 <!DOCTYPE faces-config PUBLIC 03 "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" 04 "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> 05 <faces-config> 06 <navigation-rule> 07 <from-view-id>/pages/choosetable.jsp</from-view-id> 08 <navigation-case> 09 <from-outcome>showtable</from-outcome> 10 <to-view-id>/pages/showtable.jsp</to-view-id> 11 </navigation-case> 12 </navigation-rule> Diese Konfiguration bestimmt in einer Regel (Zeilen 06 bis 12), dass von der Webseite /pages/choosetable.jsp (from-view-id, Zeile 07) zur Webseite /pages/showtable.jsp (to-viewid, Zeile 10) navigiert wird, falls der Ausgang von choosetable.jsp den Namen showtable trägt (from-outcome, Zeile 09). Einen Ausgang definieren kann beispielsweise das action-attribut eines Submit-Buttons. Dazu jedoch erst später mehr Deklaration der JavaBeans Wir verwenden eine weitere JavaBean namens TableBean, um den Oracle-Tabellenname, den der Benutzer in der ersten Webseite eingibt, über mehrere Webseiten hinweg zu speichern. Diese JavaBean fungiert als Schnittstelle (bridge) zwischen der Webseite und der eigentlichen Applikationslogik. Erstellen Sie dazu die Java-Datei TableBean.java im Ordner %CATALINA_HOME%\webapps\fingeruebung\WEB-INF\classes\beans (dort befindet sich bereits unsere JavaBean DbBean aus der ersten Fingerübung): package beans; public class TableBean { String tablename; public String gettablename() { return this.tablename; } } public void settablename(string tablename) { this.tablename = tablename; } Seite 3 von 9

Vergessen Sie auch dieses Mal keinesfalls, den Namensraum der Klasse anzugeben! Und bitte beachten Sie: der spätere Feldname in der JSP-Datei muss exakt mit dem Attributnamen in der Klasse übereinstimmen. Der zweite Teil der faces-config.xml beschreibt sämtliche JavaBeans, die in der Web- Applikation verwendet werden. Erweitern Sie die Datei um folgenden Inhalt: 01 <managed-bean> 02 <managed-bean-name>tablebean</managed-bean-name> 03 <managed-bean-class>beans.tablebean</managed-bean-class> 04 <managed-bean-scope>request</managed-bean-scope> 05 </managed-bean> 06 <managed-bean> 07 <managed-bean-name>dbbean</managed-bean-name> 08 <managed-bean-class>beans.dbbean</managed-bean-class> 09 <managed-bean-scope>request</managed-bean-scope> 10 </managed-bean> 11 </faces-config> In den Zeilen 01 bis 05 wird die soeben erstellte Bridge-JavaBean TableBean deklariert. In den Zeilen 06 bis 10 wird die bereits in der ersten Fingerübung erstellte Datenbankzugriffs- JavaBean DbBean deklariert. 2.12 Die Eigenschaftsdatei (messages.properties) erstellen Die Eigenschaftsdatei messages.properties enthält Namen-Werte-Paare. Nur die Namen werden in den Webseiten verwendet; die korrespondierenden Werte hingegen nur einmalig in der Eigenschaftsdatei definiert. Die Werte getrennt von den JSP-Dateien aufzubewahren, erlaubt es, sie beliebig oft verwenden und schnell modifizieren zu können beispielsweise für mehrsprachige Webseiten -, ohne die JSP-Dateien jedes Mal bearbeiten zu müssen. JavaServer Faces wertet die Sprache der angeforderten Webseite automatisch aus und verwendet die korrekte Eigenschaftsdatei. Erstellen Sie den Ordner %CATALINA_HOME%\webapps\fingeruebung\classes\bundle und darin die Datei messages.properties mit folgendem Inhalt: choosetable_header=dritte Fingerübung JSF prompt=bitte Tabellenname eingeben: showtable_txt=inhalt der Tabelle button_txt=tabelle zeigen sign=! Seite 4 von 9

2.13 Die JSP-Dateien bearbeiten JSP-Datei choosetable.jsp Erstellen Sie mit Ihrem Lieblingseditor als erstes die neue Webseite choosetable.jsp im Ordner %CATALINA_HOME%\webapps\fingeruebung\pages mit folgendem Inhalt: 01 <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 02 <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 03 <f:loadbundle basename="bundle.messages" var="msg"/> 04 <html> 05 <head> 06 <title>tabellenname eingeben</title> 07 </head> 08 <body> 09 <f:view> 10 <h1> 11 <h:outputtext value="#{msg.choosetable_header}"/> 12 </h1> 13 <h:form id="indexform"> 14 <h:outputtext value="#{msg.prompt}"/> 15 <h:inputtext value="#{tablebean.tablename}" required="true"/> 16 <h:commandbutton action="showtable" value="#{msg.button_txt}"/> 17 </h:form> 18 </f:view> 19 </body> 20 </html> Die Zeilen 01 und 02 sind Direktiven, die Tags für HTML-Elemente und Kern-Elemente von JSF definieren. Zeile 03 lädt die im vorangegangenen Abschnitt definierte Eigenschaftsdatei. Zeile 11 verweist in das Resource Bundle msg, das in Zeile 03 geladen wurde (es handelt sich um unsere Eigenschaftsdatei message.properties). Daraus soll der Wert des Namens index_header ausgegeben werden. In den Zeilen 13 bis 17 wird ein HTML-Formular definiert, in dem ein Prompt ausgegeben (Zeile 14) wird, sowie ein HTML-Eingabefeld (Zeile 15) und ein Submit-Button (Zeile 16) angezeigt werden. Der Wert des Eingabefeldes verweist auf das Attribut tablename der JavaBean TableBean. Das HTML-Attribut action des Buttons bestimmt den Ausgang (outcome) der Webseite. Seite 5 von 9

Automatische Validierung der Benutzereingaben Das Eingabefeld in Zeile 15 ist ein Muss-Feld (required= true ). Die Webseite kann nicht verlassen werden, ohne dass ein Tabellennamen eingegeben wurde. Möchte man eine minimale oder maximale Eingabelänge eines Feldes sicherstellen, könnte folgende Ergänzung verwendet werden: <h:inputtext value="#{tablebean.tablename}" required="true"> <f:validatelength minimum="2" maximum="10"/> </h:inputtext> Scheitert die Validierung, werden von JSF automatisch Meldungen generiert und ausgegeben. An welcher Position in der Webseite die Meldung sichtbar ist, legt folgende Angabe fest: <h:messages style="color: darkred;"/> Seite 6 von 9

JSP-Datei showtable.jsp Die Webseite showtable.jsp zeigt den Inhalt der ausgewählten Datenbanktabelle. Erstellen Sie die neue Datei showtable.jsp in dem Ordner, in dem Sie soeben bereits die Webseite choosetable.jsp erstellt haben: 01 <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 02 <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 03 <f:loadbundle basename="bundle.messages" var="msg"/> 04 <html> 05 <head> 06 <title>tabelleninhalt</title> 07 </head> 08 <body> 09 <f:view> 10 <h3> 11 <h:outputtext value="#{msg.showtable_txt}"/> 12 <h:outputtext value="#{tablebean.tablename}"/> 13 <h:outputtext value="#{msg.sign}"/> 14 </h3> 15 <% 16 dbbean.open("system", "<password>"); 17 dbbean.query("select name FROM " + tablebean.gettablename()); 18 while(dbbean.next()) { 19 out.println(dbbean.getstring(1) + "<br/>"); 20 } 21 dbbean.close(); 22 %> 23 </f:view> 24 </body> 25 </html> Vorsicht: name gibt es natürlich nicht in allen Tabellen! JSP-Datei index.jsp Benennen Sie die Webseite %CATALINA_HOME%\webapps\fingeruebung\index.jsp (aus der ersten Fingerübung) um in index1.jsp. Wir werden nun eine neue Einstiegs-Webseite der Web-Applikation erstellen. Diese benutzt das JSP-Tag forward, um zur Webseite choosetable.jsp zu navigieren. Erstellen Sie die neue index.jsp. Beachten Sie, dass diese nicht im Ordner pages erstellt wird wie die Webseiten choosetable.jsp und showtable.jsp: <html> <body> <jsp:forward page="/pages/choosetable.jsf"/> </body> </html> Seite 7 von 9

Beachten Sie, dass die Webseite, auf die verwiesen wird, mit der Namenserweiterung.jsf endet, und nicht mit.jsp, wie wir eigentlich erwarten würden. Diese Namenserweiterung wird verwendet, um Tomcat zu signalisieren, dass diese Webseite vom Servlet JavaServer Faces bearbeitet werden soll. 2.14 Tomcat konfigurieren Die Abbildung der Dateierweiterung.jsf auf die Bearbeitung durch das Servlet JavaServer Faces wird in der generellen Tomcat-Konfigurationsdatei web.xml konfiguriert. Erstellen Sie sie im Ordner %CATALINA_HOME%\webapps\fingeruebung\WEB-INF: <?xml version="1.0" encoding="iso-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <context-param> <param-name>javax.faces.state_saving_method</param-name> <param-value>server</param-value> </context-param> <context-param> <param-name>javax.faces.config_files</param-name> <param-value>/web-inf/faces-config.xml</param-value> </context-param> <listener> <listener-class>com.sun.faces.config.configurelistener</listener-class> </listener> <!-- Faces Servlet --> <servlet> <servlet-name>faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.facesservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- Faces Servlet Mapping --> <servlet-mapping> <servlet-name>faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> </web-app> Die blau markierten Zeilen übernehmen die oben erwähnte JSF-Abbildung. Seite 8 von 9

2.15 Überprüfung der Web-Applikation Übersetzen Sie die TableBean. Wechseln Sie dazu in einer Kommando-Shell in den Ordner, der die Java-Datei enthält, und führen Sie folgendes Kommando aus: javac TableBean.java Nun können Sie die Anwendung im Webbrowser starten: http://<hostname>:8081/fingeruebung/index.jsp Ersetzen Sie <hostname> durch den Namen des Tomcat-Servers. Sollte es zu Fehlern kommen, lohnt häufig ein Blick in die Log-Dateien des Tomcat-Servers, die sie im Ordner %CATALINA_HOME%\logs finden. 2.16 Erweiterung der Funktionalität Die Funktionalität der Web-Applikation beschränkt sich augenblicklich darauf, einen Tabellennamen entgegenzunehmen, und diesen Namen auf der nachfolgenden Webseite wieder auszugeben. Bitte erweitern Sie die Anwendung dahingehend, von allen Datensätzen der vom Benutzer ausgewählten Tabelle ein geeignetes alphanumerisches Attribut anzuzeigen. Bitte führen Sie diese gesamte dritte Fingerübung im Rahmen einer Übungsveranstaltung der Lehrveranstaltung Software Engineering II durch. Seite 9 von 9