jsp

23
JSP Einführung Skripte Direktiven Tomcat 3.2 Version 1.1 Tomcat 4.0 Version 1.2 JBuilder Fr. 220.- beim Jäggi (mit Legi)

Upload: myra

Post on 11-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

JSP. Einführung Skripte Direktiven Tomcat 3.2 Version 1.1 Tomcat 4.0 Version 1.2. JBuilder Fr. 220.- beim Jäggi (mit Legi). Bis jetzt Servlets …. Webserver (Tomcat). get start. Servlet Container generiert HTML versendet via http. In Zukunft …. Präsentationsschicht - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: JSP

JSP

Einführung

Skripte

Direktiven

Tomcat 3.2 Version 1.1

Tomcat 4.0 Version 1.2

JBuilder

Fr. 220.- beim Jäggi

(mit Legi)

JBuilder

Fr. 220.- beim Jäggi

(mit Legi)

Page 2: JSP

Bis jetzt Servlets …

Servlet Container

generiert HTMLversendet via http

get start

Webserver (Tomcat)

Page 3: JSP

In Zukunft …

•Präsentationsschicht•Scriptprogrammierung

Page 4: JSP

JSP

Möglichkeiten von JSP

• HTML + Java in spez. Tag

• Mischung von HTML / XML / Java-Code

• Einfachheit

• Trennung von Darstellung und Logik

• Definition eigener Tags

PräsentationDarstellung

ImplementierungLogik

Page 5: JSP

CGI Process

HTTP Server CGI

Request

StartProcess

ReceiveCGI out

SendResponse

Gen.Data

Process starten kostet Zeit !!

Page 6: JSP

JSP

Page 7: JSP

HTTP Server

JSP Container

Page Compiler

JSP PAGEServlet

JSP

SendResponse

LoadServlet

Compile JSPServlet

Generate JSPServlet Source

Parse JSP

ReceiveRequest

GenerateResponse

JSP Servletloaded?

JSP Servletcurrent?

Ja

Ja

Nein

Nein

Page 8: JSP

javax.servlet.jsp.HttpJspPage

JSPJSP

DirektivenDirektiven

SkripteSkripte

AktionenAktionen

<%@ page %> <%@ page %>

<%@ include %> <%@ include %>

<%@ taglib %> <%@ taglib %>

<%= expression %> <%= expression %>

<% scriptlet %> <% scriptlet %>

<%! declaration %> <%! declaration %>

<benutzerdef.> <benutzerdef.>

<jsp:plugin> <jsp:plugin>

<jsp:fallback> <jsp:fallback>

<jsp:params> <jsp:params>

<jsp:forward> <jsp:forward>

<jsp:include> <jsp:include>

<jsp:getProperty> <jsp:getProperty>

<jsp:setProperty> <jsp:setProperty>

<jsp:useBean> <jsp:useBean>

Page 9: JSP

Syntax

„Standard“-Syntax<% ... %>XML-Syntax<jsp:einJspTag>...</jsp:einJspTag>

Skripte (scripts) / ProgrammierungDirektiven (directives) / Steuerung JSP ContainerAktionen (actions) / Kontrollfluss

JSP

Page 10: JSP

Skripte

Deklaration: Definition Variablen, Methode für die aktuelle Seite <%!

Scriptlets: Blöcke von Code <%

Expressions: Einzelne Linien von Code automatisch in Seitenausgabe eingefügt.<%=

Page 11: JSP

Deklarationen

<%! privat int x=0,y=0;

privat String unit=“hallo“;%>

<%! Circle a = new Circle(2.0); %>

<jsp:declaration>

privat int x=0,y=0;

privat String unit=“hallo“;

</jsp:declaration>

Page 12: JSP

Lokale vs. Klassen Variablen

Lokal, neu pro Instanz, für einen User gedacht.

<%! private int z=0; %>

Klassen Variable, für alle Instanzen (alle User)

<%! static public int z=0; %>

Page 13: JSP

Ausdrücke (Expressions)

<%= numguess.getHint() %>

<jsp:expression> numguess.getHint() </jsp:expression>

•direkte Ausgabe in den Outputstream•Stringkonvertierung über toString()oder String.valueOf()• äquivalent zu out.print(...);

Spez. Ausdruck:test_expr ? true_exp : false_exp<%= (hours < 12) ? “AM“ : “PM“ %>

Page 14: JSP

Beispiel Script

<%String name = null;if (request.getParameter("name") == null) {%><%@ include file="error.html" %><%} else {foo.setName(request.getParameter("name"));if (foo.getName().equalsIgnoreCase("integra"))name = "acura";if (name.equalsIgnoreCase( "acura" )) {%>

Page 15: JSP

Direktiven

Enthalten globale Informationen für den Pagecompiler und auch den JSP-Container

Allgemeine Definitionenimport AnweisungenTag-BibliothekenAnzeige von Fehler-Seiten

Erzeugen keine Ausgabe

keine laufzeitrelevanten Inhalte

JSP

Page 16: JSP

Direktive

Syntax1:

<%@ page attribute1=“value1” %>

Syntax2:

<jsp:directive.page attribute1=“value1” />

Page 17: JSP

Direktive Page

<%@ page[ language="java" ][ extends="package .class" ][ import="{package .class | package.*}, ..." ][ session="true|false" ][ buffer="none|8kb|sizekb" ][ autoFlush="true|false" ][ isThreadSafe="true|false" ][ info="text" ][ errorPage="relativeURL" ][ contentType="mimeType [ ;charset=characterSet ]" |"text/html ; charset=ISO-8859-1" ][ isErrorPage="true|false" ]%>

Page 18: JSP

Include

include.jsp:<html><head><title>An Include Test</title></head><body bgcolor="white"><font color="blue">The current date and time are<%@ include file="date.jsp" %></font></body></html>

date.jsp:<%@ page import="java.util.*" %><%= (new java.util.Date() ) .toLocaleString() %>

Displays in the page:The current date and time areAug 30, 1999 2:38:40

Page 19: JSP

Implizite Objekte

stehen in jeder JSP zur Verfügung

page (javax.servlet.jsp.HttpJspPage)config (javax.servlet.ServletConfig)request (javax.servlet.http.HttpRequest)response (javax.servlet.http.HttpResponse)out (javax.servlet.jsp.JspWriter)session (javax.servlet.http.HttpSession)application (javax.servlet.ServletContext)pageContext (javax.servlet.jsp.PageContext)exception (java.lang.Throwable)…

JSP

Page 20: JSP

Request Objectjavax.servlet.http.HttpServletRequest

Page 21: JSP

Request Bsp.

<% String Str = request.getParameter(“name“); %>

Ihr Name ist: <%= Str %>

Praktikum

1. Servlet Geschichte beenden

2. Helo World jsp

3. Primzahlen

4. Nummer Ratespiel

5. Euro in SFr. umrechnung

Page 22: JSP

quellenangaben

Offizielle Spezifikationen, Klassenbibliotheken & -dokumentation

http://java.sun.com/products/servlet/http://java.sun.com/products/jsp/

TutorialsThe J2EE™ Tutorial

Java Servlet Technology / JavaServer Pages ™ Technology http://java.sun.com/j2ee/tutorial/

The Java ™ TutorialTrail: Servlets: http://java.sun.com/docs/books/tutorial/servlets/Campione M. et al.: The Java™ Tutorial Continued: The Rest of the JDK; Addison-Wesley Pub Co; ISBN: 0201485583

Page 23: JSP

Quellenangaben (II)

Tomcat, Jakarta Projecthttp://jakarta.apache.org

Bücher:Hunter J. & Crawford W.: Java™ Servlet Programming; O‘Reilly & Associates, ISBN: 156592391XTurau, V.: Java Server Pages; dpunkt-Verlag,ISBN: 3932588665

JSP