<
>
swopdoc logo
Download
a) trade for free
b) buy for 1.43 $
Document category

Summary
Information Technology / Computer S

University, School

KV Zürich Business School

Grade, Teacher, Year

Meier, 2010

Author / Copyright
Text by Rud P. ©
Format: PDF
Size: 0.85 Mb
Without copy protection
Rating [details]

Rating 3.2 of 5.0 (4)
Live Chat
Chat Room
Networking:
0/0|0[-3.0]|0/2













More documents

JSP

Inhalt

1 Hypertext Transfer Protocol 3

1.1 HTTP Allgemein. 3

1.2 POST / GET. 4

1.3 Error-Codes. 4

2 Sessions. 4

2.1 Allgemeines zu Sessions. 4

2.2 Sessions in JSP. 5

2.3 Wann wird eine Session beendet?. 5

3 JSP. 5

3.1 Syntax. 5

3.2 Aufbau. 6

3.2.1 Direktiven. 6

3.2.2 Skriptingelemente. 7

3.2.3 Action-Elemente. 8

3.3 Beispiel 9

4 Servlets. 10

4.1 Syntax. 10

4.2 Aufbau. 10

4.3 Beispiel 11

4.4 Konfiguration von web.xml 11

5 Beans. 12

5.1 Syntax. 13

5.2 Aufbau. 13

5.3 Beispiel 13

6 JDBC 13

6.1 Allgemeines. 13

6.2 Anwendung. 13

6.3 Hilfreiche Websiten. 13

1          Hypertext Transfer Protocol

1.1               HTTP Allgemein

Das Hypertext Transfer Protocol ist ein Protokoll zur Übertragung von Daten über ein Netzwerk. Es wird hauptsächlich eingesetzt, um Webseiten aus dem World Wide Web in einen Webbrowser zu laden.

Die Kommunikation mittels HTTP besteht immer aus einem Request und einer Response dazu.
(Request = Anfrage an den Server, Response = Antwort vom Server, siehe Bild)

Jede HTTP-Nachricht besteht dabei aus zwei Teilen, dem Header und dem Body. Der Header enthält Informationen über den Body, damit dieser vom Empfänger korrekt interpretiert werden kann. Der Body enthält schließlich die Nutzdaten.

Ein Beispiel eines Headers:

1.2              POST / GET

Zur Übergabe von Parametern via HTTP gibt es zwei bekannte Methoden: Die GET-Methode und die POST-Methode.

GET-Methode:
Die Parameter werden dabei einfach durch ein Fragezeichen an die URL angehängt. Welche Parameter mit der GET-Methode übergeben werden, ist somit für den User sofort ersichtlich.

Beispiel
?search=Katzen&go=Artikel

?
à Beginn Parameterübergabe
Parametername=Parameterwert
&
à Trennung zwischen Parametern

POST-Methode:

Im Unterschied zum GET-Request werden bei POST die Parameter nicht an den URL angehängt, sondern im Body des Requests selbst mitgesendet. D.h. die Parameter folgen, nachdem der Header-Bereich mit einer Leerzeile abgetrennt wurde. Die Übergabe von Parametern mittels der POST-Methode ist somit für den User nicht sofort ersichtlich.

Beispiel

Body:

parametername=parameterwert&zweiterparamertname=zweiterparameterwert

1.3               Error-Codes

Nummer

Bezeichnung

1xx

Informationen

2xx

Erfolgreiche Operation

3xx

Umleitung

4xx

Client-Fehler

5xx

Server-Fehler

Berühmte Errors

·         401 – Unauthorized

·         403 – Forbidden

·         404 - Not Found

·         408 - Request Timeout

·         500 - Internal Server ErrorSessions

1.1               Allgemeines zu Sessions

Wir benötigen einen Zustand, sobald man mehrere Anfragen tätigt. Bei einem Web Mailer bspw. loggt sich die Nutzerin einmal ein. Klickt sie im weiteren Verlauf auf eine Mail, um sich diese anzusehen, so werden ihre Logindaten natürlich nicht mehr abgefragt. Sie werden aber auch nicht mit dem Formular oder den Links mitgeschickt. D.h. der Server kann erkennen, dass die Anfrage zu der vorherigen gehört, dass beide Anfragen (und weitere folgende) eine gemeinsame Nutzungssitzung, die Session, bilden.
Das Session-Konzept sieht zum einen ein Erkennungsmerkmal vor, anhand dessen der Webserver trotz des statuslosen Protokolls HTTP erkennen kann, dass mehrere aufeinanderfolgende Requests zu einer Session gehören.

Zum anderen ist integraler Bestandteil dieses Konzepts, dass eine Session einen Speicherbereich nutzt, auf den alle Anfragen eben dieser Session zugreifen können, von dem aber Anfragen, die zu anderen Sessions gehören, ausgeschlossen sind. Im Beispiel des Web Mailers könnten in der Session also bspw. die Verbindungsdaten dieser Nutzerin zu ihrem Mail-Provider gespeichert werden.

Ebenso, welcher Ordner gerade geöffnet ist, bei mehreren Mailkonten auch, welches dieser Konten gerade aktuell verwaltet wird usw.

1.2              Sessions in JSP

// setzen einer Session Variable
session.setAttribute("name", lstrName);

// lesen der Session Variablen
String lstrName = (String) session.getAttribute("name");

// löscht die Session (alle Sessionvariablen)
session.invalidate();

1.3               Wann wird eine Session beendet?

Sessions haben nur eine beschränkte Lebensdauer. Zum Beispiel kann die Session-Zeit durch einen Timer festgelegt werden. Weiter wird die Session beendet, wenn der Browser geschlossen wird, Cookies oder Cache gelöscht werden, es einen Stromausfall gibt und dadurch der Computer ausgeschalten wird, oder wenn man sich auf einer Website abmeldet auf welcher man sich mittels eines Logins identifiziert hat.

2          JSP

JSP wird für das Produzieren von dynamischen, webbasierten Inhalten genutzt.
Wenn eine JSP zum ersten Mal aufgerufen wird, wird es zu einem Servlet umgewandelt. Die JSP wird zuerst in Java Code übersetzt und dann kompiliert.
JSP wird für die grafische Darstellung der Inhalte benötigt.

2.1              Syntax

Die JSP-Tags stehen in einem statischen Code Teil wie HTML oder XML.
Sie stehen immer in ‚<‛ und ‚>‛, es wird kein Semikolon am Ende der Zeile benötigt.

2.2              Aufbau

Eine JSP kann grob in die folgenden Elemente aufgeteilt werden:

·         Die Direktiven

·         Die Skriptingelemente

·         Die Aktionen

2.2.1               Direktiven

JSP kennt drei verschiedene Direktiven:

  • Die page Direktiven,
  • Die include Direktiven
  • Die taglib Direktiven

Die Syntax einer Direktive hat allgemein die folgende Form:

<%@ Direktive {Attribut="Wert"}* %>

2.2.1.1                   Die „page“-Direktive

Die erste Direktive ist die page-Direktive mit welcher man verschiedene Eigenschaften einer JSP-Seite definieren und ändern kann.

Die Direktive „page“ kennt folgende Attribute:

Attribut

Standardwert

Beschreibung

language

java

Definiert die verwendete Scripting-Sprache. Es gibt Servlet-Container, welche nebst Java auch Java-Script erlauben.

extends

Kann verwendet werden für das definieren der Superklasse, welche verwendet werden soll.

import

Importiert benötigte Packate und / oder Klassen.

session

true

Wenn dieser Wert auf true gesetzt ist, wird das implizite Objekt session erstellt und die JSP-Seite "nimmt" an einer Session teil.

buffer

8kb

Definiert die verwendete Buffer-Grösse.

autoFlush

true

Definiert, ob der Buffer automatisch gesendet werden soll, wenn der Buffer voll ist. Wenn dieser Wert false gesetzt wird und der Buffer überläuft, wird eine Exception geworfen.

isThreadSafe

true

Indiziert das Thread-Modell, welches für die Ausführung der "JSP-Seite" vom Servlet-Container verwendet wird. Wenn der Wert auf false gesetzt wird, muss der Servlet-Container alle Anfragen seriell abarbeiten.

info

Beschreibung der Seite. Kann mit der API-Funktion getServletInfo() ermittelt werden.

isErrorPage

false

Definiert, ob die aktuelle Seite eine Fehlerseite ist.

errorPage

Mit errorPage kann eine URL definiert werden, welche im Fehlerfall aufgerufen wird. Die URL muss zur Applikation gehören und wird relativ angegeben.

contentType

text/html

Definiert den MIME-Typ der Seite.

pageEncoding

ISO-8859-1

Definiert den Zeichensatz.

isElIgnored

false

Definiert, ob die Ausdrücke, welche mittels EL definiert sind, ausgewertet werden sollen.

Die meisten verwendeten Attribute sind sicherlich import und session.


Beispiel:

<%@ page import="java.util.*" session="false" %>

Wir importieren das Package java.util und setzen das session-Attribut auf false.

2.2.1.2                   Die „include“-Direktive

Mit dieser Direktive wird es möglich, den kompletten Inhalt anderer Dateien in die aktuelle Seite einzubinden. Nutzen kann man dies z.B. für stets wieder kehrende HTML-Teile wie Footer und Header. Die Einbindung der Datei geschieht, bevor die JSP-Seite in ein Servlet transformiert wird.

Die eingebundene Datei Kann selbst wieder JSP-Elemente beinhalten.

<%@ include file="datei.jsp" %>.

2.2.1.3                   Die „taglib“-Direktive

Mit der Direktive taglib können so genannte tag-libraries eingebunden werden. Z. B. wird die JSP Standard Tag Library mit dieser Direktive eingebunden. URI der Taglibrary kann relativ oder absolut angegeben werden.

<%@ taglib uri="/TagLibURI" prefix="tagPrefix" %>


Beispiel für eine absolute Angebe des URIs:
<%@ taglib uri=" prefix="c" %>

Beispiel für eine relative Angabe eines URIs:
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>


2.2.2              Skriptingelemente

Scripting-Elemente werden verwendet um Objekte zu manipulieren und Berechnungen durchzuführen und sind "normale" Java-Fragmente. Damit eine JSP-Seite übersichtlich und wartbar bleibt, sollte auf Java-Code innerhalb einer JSP-Seite völlig verzichtet werden.


Zu den Skriptingelementen gehören:

·         Deklarationen

·         Scriptlets

·         Ausdrücke

·         Kommentare

2.2.2.1                   Deklarationen

JSP erlaubt Variabeln und Funktionen zu deklarieren. Variabeln werden direkt innerhalb der Klasse erstellt und werden somit zu Klassenvariabeln. Das heisst, dass die deklarierten Variabeln nicht exklusive pro Anfrage und Benutzer verwendetet werden sondern einen globalen Gültigkeitsbereich - innerhalb des Servlets - haben.

Diese Variabeln werden auch als "page-level" Variabeln bezeichnet. Bei diesen Variabeln muss immer darauf geachtet werden, dass der Zugriff "Thread-Safe" erfolgt, denn mehrere Threads, können gleichzeitig das gleiche Servlet - unsere JSP-Seite - ausführen.

Eine Deklaration erfolgt zwischen den Begrenzungszeichen <%! und %>.


Beispiel:

<%!

java.util.Date date = java.util.Calendar.getInstance().getTime();

java.util.Date getCurrentDate() {

return date;

}

%>

2.2.2.2                  Scriptlets

Scriptlets sind kleine Kodestücke welche zwischen den Begrenzungszeichen <% und %> stehen. Die Kodestücke können z.B. für das Prüfen von Bedingungen und Schleifen verwendete werden.

Beispiel:

<body>

<% for( int i = 0; i < 10; i++ ) {%>

<% if( i == 0 ) {%>

Hallo<br><br>

<%}%>

Das ist eine JSP-Seite. <br>

<%}%>

</body>

2.2.2.3                   Ausdrücke / Expressions

Ausdrücke sind Scriptlets sehr ähnlich und sind bestimmt für das Auswerten von regulären Java-Ausdrücken. Der Syntax ist wie folgt: <%= ausdruck %>.


Beispiel:

<body>

<% for( int i = 0; i < 10; i++ ) {%>

Zeile <%= i+1%><br>

<%}%>

</body>

2.2.2.4                  Kommentare

In den JSP-Seiten können beliebig mit Kommentar versehen werden. Diese Kommentare werden im Gegensatz zu HTML-Kommentare nicht in die zu generierende Seite übernommen.


Preview page 1 of 4 : [1] [2] [3] [4]
The site owner is not responsible for the content of this text provided by third parties

Legal info - Data privacy - Contact - Terms-Authors - Terms-Customers -
Swap+your+documents