Dynamische Webseiten mit JavaServer Pages (JSP)

Ähnliche Dokumente
Java Webentwicklung (mit JSP)

JSP Direktiven. Präprozessor-Anweisungen, die in die JSP-Datei eingebettet sind und vor dem eigentlichen Übersetzungsvorgang ausgeführt JSP

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

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

Internet und WWW Übungen

Java - Webapplikationen

Java Server Pages (JSP)

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

Herzlich willkommen im Modul Web-Engineering

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

Zugriff auf Daten der Wago über eine Webseite

Einführung in die Scriptsprache PHP

Web 2.0 Software-Architekturen

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

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

WEBSEITEN ENTWICKELN MIT ASP.NET

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel

Programmierkurs Java

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

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

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

HTML5. Wie funktioniert HTML5? Tags: Attribute:

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: CF Carola Fichtner Web-Consulting

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

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

JSP und Servlet Programmierung

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

Programmieren in Java

Anleitung BFV-Widget-Generator

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

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

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Hochschule Darmstadt Fachbereich Informatik

BFV Widget Kurzdokumentation

Die aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen.

BFV Widgets Kurzdokumentation

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Java Script für die Nutzung unseres Online-Bestellsystems

Online Banking System

Meine erste Homepage - Beispiele

Referenzen Typo3. Blog der Internetagentur Irma Berscheid-Kimeridze Stand: Juni 2015

- Frontend

Webseitenintegration. Dokumentation. v1.0

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Dokumentation zum Spielserver der Software Challenge

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Bauteilattribute als Sachdaten anzeigen

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Kommunikations-Management

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Erstellen eines Screenshot

Tevalo Handbuch v 1.1 vom

Anleitung Captain Logfex 2013

ErstWeb.doc Seite: 1

Plugins. Stefan Salich Stand

Arbeiten mit UMLed und Delphi

CVR Seniorentreff vom 04. und Serienbriefe/Seriendruck. Serienbriefe / Seriendruck

Online-Publishing mit HTML und CSS für Einsteigerinnen

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Arbeitsgruppen innerhalb der Website FINSOZ e.v.

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Stundenpläne In Kürze können die Dozenten auch ihre Stundenpläne über ihren individuellen Dozentenbereich

Webalizer HOWTO. Stand:

OP-LOG

ASVZweb_08/ Schreibhilfe

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Anleitung über den Umgang mit Schildern

> Mozilla Firefox 3.5

TELIS FINANZ Login App

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

Benutzeranleitung Service Desk Tool Erizone

6.9 Java Server Pages

Erreichbarkeit von Klassenelementen. Daten verstecken und kapseln

Dialyse Benchmark - Online so funktioniert s

Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011

Visual Basic Express Debugging

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

Einführung in PHP. (mit Aufgaben)

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Sitzungen (Sessions) HTTP ist zustandslos

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Einfügen von Bildern innerhalb eines Beitrages

Java: Vererbung. Teil 3: super()

MCRServlet Table of contents

Java zur Realisierung von Internetanwendungen

Professionelle Seminare im Bereich MS-Office

Modellierung und Programmierung 1

Mobile-Szenario in der Integrationskomponente einrichten

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Erstellung botoptimierter Partnerlinks

Einführungskurs MOODLE Themen:

Transkript:

Dynamische Webseiten mit JavaServer Pages (JSP) einige Links: java.sun.com/products/jsp JavaServer Pages java.sun.com/products/servlets Java Servlet Technologie www.micromata.de Schrödinger (Download) jsp.micromata.de Schrödinger (Forum) jakarta.apache.org Tomcat www.jsp-develop.de deutsches JSP-Portal www.netbeans.org IDE inkl. Tomcat www.eclipse.org IDE www.coreservlets.com Marty Hall -Webseite, enthält Buch CoreServlets and JSP, 1.Aufl. (engl.), ca. 10 MB www.moreservlets.com mehr von Marty Hall www.heise.de/ix/artikel/2000/07/152/ JSP-Tutorial (deutsch, 3 Teile) validator.w3.org XHTML-Validator 1

Clientseitige Techniken Client-Rechner mit Web-Browser http://www.xyz.ab/hallo.html Anfrage (request) Antwort (response) Server-Rechner mit Web-Server hallo.html Dateien Clientseitige Techniken: HTML/XHTML CSS, JavaScript, JScript, VBScript <html>... <body> Hallo, hallo! </body> </html> hallo.html 2

Serverseitige Techniken am Beispiel von JavaServer Pages Client-Rechner mit Web-Browser Clientseitige Techniken: HTML/XHTML CSS, JavaScript, JScript, VBScript http://www.xyz.ab/login.jsp Anfrage (request) Antwort (response) <html>... <body> Login okay! </body> </html> Server-Rechner mit Web-Server und JSP-Server (z.b. Tomcat) Serverseitige Techniken: JSP, Servlets, CGI, SSI, ASP, PHP login.jsp login.jsp Überprüfung Ergebnis Dateien Datenbank 3

JSP-Server BEA WebLogic Engine IBM Webshere JBoss JRUN Resin ServletExec Tomcat ( Referenzimplementation) 4

Servlet / JSP - Standards und Tomcat Versionen Jahr Servlet JSP Tomcat (reference platform) 1999 2.2 1.1 3.x (aktuell 3.3.2) 2001 2.3 1.2 4.x (aktuell 4.1.30) 2003 2.4 2.0 5.x (aktuell 5.0.19) 5

JavaServer Pages Bestandteile Scripting-Elemente elementare Elemente - zum Formulierung von Java-Anweisungen (JSP-Scriptlets) - zur Formulierung und Anzeige von Ausdrücken - zur Deklaration von Variablen, Methoden, Klassen - zur Formulierung von Kommentaren Direktiven beeinflussen die Gesamtstruktur der aus den JSP's erzeugten Servlets Aktionen beziehen sich auf Java-Objekte, die erzeugt, ausgeführt oder verändert werden können 6

JSP Syntax Skripting-Elemente Direktiven Aktionen <%... %> <jsp:scriptlet... /> <%=... %> <jsp:expression... /> <%!... %> <jsp:declaration... /> <%--... --%> <%@ page... %> <jsp:directive.page... /> <%@ include... %> <jsp:directive.include... /> <%@ taglib... %> <jsp:directive.taglib... /> <jsp:usebean... > <jsp:setproperty... > <jsp:getproperty... > <jsp:include... > <jsp:forward... > <jsp:params... > <jsp:param... > <jsp:fallback... > <jsp:plugin... > benutzerdefiniert 7

JSP-Skriptlet <%... %> oder <jsp:scriptlet... /> zwischen diesen Tags eingebettete Codefragmente einer gültigen Scriptingsprache (z.b. Java) werden auch Scriptlet genannt. <%-- date1.jsp --%> <html> <body> <% // Dies ist einzeiliger Kommentar %> <% java.util.date d; %> <hr> <% d = new java.util.date(); out.println( "Heutiges Datum: <em>" + d + "</em>" ); %> </body> </html> In einer jsp können beliebig viele Java-Scriptlets eingebaut werden. Es können Variablen deklariert werden, auf die in anderen Skriptlets zugegriffen werden kann. Es kann auf Standardbibliotheken zugegriffen werden Java-Code kann auch über mehrere Scriptlets fortgesetzt werden ( s. for.jsp) 8

JSP-Ausdruck <%=... %> oder <jsp:expression... /> zwischen diesen Tags kann ein Ausdruck, eine Variable oder ein Methodenaufruf eingefügt werden. Der eingebettete Text wird ausgewertet und das Ergebnis wird dann in einen String umgewandelt und an der entsprechenden Stelle der HTML-Ausgabe eingefügt. <%-- date3.jsp --%> <html> <body> <hr> Heutiges Datum: <em> <%= new java.util.date() %> </em> <% double zufall = java.lang.math.random() * 1000; %> <h4>zufallszahl 1 : <%= zufall %> <h3>zufallszahl 2 : <%= zufall + java.lang.math.random() * 100%> </body> </html> Beachte: im Scriptlet ist das Semikolon erforderlich, im Ausdruck ist es nicht erlaubt. 9

Java-Code über mehrere Scriptlets hier ein Beispiel mit Java-Code, der über zwei Scriptlets hinweg vervollständigt wird: <%-- for.jsp --%> <html> <body> <% for( int i = 1; i < 6; i++ ) { %> <h4>zufallszahl <%= i %> : <%= java.lang.math.random() %></h4> <% } %> </body> </html> 10

11

JSP-Deklaration <%!... %> oder <jsp:declaration... /> Deklarationen werden für Konstanten, Variablen, Methoden und Klassen verwendet, die global in der JSP gültig sind. Achtung: Variableninhalte bleiben erhalten, auch wenn die JSP von mehreren Benutzern aufgerufen wird! <%-- zugriff.jsp --%> <html> <body> <%! int anzahlzugriffe = 0; %> <%! public int getzugriffe() { return anzahlzugriffe; } %> <h1>zugriffe auf diese Seite</h1> <h2>seit Start des Servletcontainers( Tomcat) bzw. Neukompilierung der jsp: <% anzahlzugriffe++; %> <%= getzugriffe() %> </h2> </body> </html> 12

JSP-Kommentar <%--... --%> Innerhalb dieser Tags stehender auch mehrzeiliger Text dient zur Kommentierung. Er wird nicht in die generierte HTML-Seite übernommen. <%-- Kommentar, auch mehrzeilig möglich 2. Zeile --%> Damit können auch JSP-Anweisungen auskommentiert werden: <%--<%=47-11%>--%> 13

<%-- kommentar.jsp -->% <%-- Dieser Kommentar wird nicht in die HTML-Seite hineingeneriert, er kann mehrzeilig sein --%> <%-- Was passiert hier? <%= application.getserverinfo() %> Hier wird k e i n Kommentar generiert. So kann man JSP-Zeilen auskommentieren. --%> <!-- was macht dies? <%= application.getserverinfo() %> Hier wird Text generiert, der in diesen HTML-Kommentar übernommen wird. --> <%=47-11%> <% // einzeiliger Java-Kommentar kann auch so formuliert werden %> <%! // auch Kommentar %> <% /* so gehts auch sogar mehrzeilig */ %> 14

JSP-Direktiven (directives) Direktiven sind Mitteilungen an den Servlet-Container bzw. die JSP-Engine, um damit die Gesamtstruktur der generierten Servlets zu beeinflussen. Sie produzieren keine für den Benutzer sichtbaren Ausgaben in der erzeugten HTML-Seite. Direktiven können innerhalb einer JSP an jeder Stelle geschrieben werden; sinnvoll ist es, sie am Anfang einer JSP zu platzieren. 15

Syntax der JSP-Direktiven <%@ directive { attribute="value" }* %> <jsp:directive.directive { attribute="value" }* /> anstelle von können auch ' verwendet werden. Mehrere values für ein Attribut werden hintereinander durch Komma getrennt geschrieben. In JSP 1.2 sind 3 Direktiven definiert: include page taglib zum Einfügen von Dateieninhalten zur Übersetzungszeit zum Beeinflussen des Übersetzungsprozesses zur Definition eigener Tags Bsp: <%@ page import="java.util.*, java.sql.*" %> oder <jsp:directive.page import="java.util.*, java.sql.*" %> 16

JSP page Direktive Syntax: <%@ page page_directive_attr_list %> oder <jsp:directive.page page_directive_attr_list /> page_directive_attr_list ::= {language="scriptinglanguage"} {extends="classname"} {import="importlist"} {session="true false"} {buffer="none sizekb"} {autoflush="true false"} {isthreadsafe="true false"} {info="info_text"} {errorpage="error_url"} {iserrorpage="true false"} {contenttype="ctinfo"} {pageencoding="peinfo"} Die page-direktive dient dazu, Einstellungen für eine jsp-übersetzungseinheit (jsp-quelldatei und alle Dateien, die mit einer include-direktive eingefügt worden sind) festzulegen. 17

Attribut Wert Default Beispiel language Scriptsprache "java" language="java" extends Klassenname - extends="mylib.myjsp" import Name der Klasse "java.lang.*, import="java.sql.*" oder des Pakets javax.servlet.*, javax.servlet.jsp.*, javax.servlet.http.*" session "true" od. "false" "true" session="false" buffer Größe des "8kb" buffer="16kb" Zwischenspeichers oder "none" autoflush "true" od. "false" "true" autoflush="false" isthreadsafe "true" od. "false" "true" isthreadsafe="false" info Zeichenkette - info="anmeldeformular" errorpage URL - errorpage="error.jsp" iserrorpage "true" od. "false" "false" iserrorpage="true" contenttype MIME-Typ text/html contenttype="text/xml"; Zeichensatz ISO-8859-1 charset="iso-8859-1" pageencoding Zeichensatz ISO-8859-1 charset="iso-8859-1" 18