JSP: Java Server Pages

Werbung
SOTE2­2015­05­08.notebook
May 08, 2015
JSP: Java Server Pages
Servlets: Java­Code mit eingebettetem HTML
JSP: HTML­Seiten mit eingebettetem Java­Code (vergleichbar PHP)
Skriptelemente
1. Scriplets
<% Java_Code %>
<jsp:scriplet>Java_Code</jsp:scriplet>
1
SOTE2­2015­05­08.notebook
May 08, 2015
Aus dem JSP wird ein "Servlet" geniert. Daher stehen Objekte zur Verfügung wie:
application
config
out
page
pageContext
request
response
2
SOTE2­2015­05­08.notebook
May 08, 2015
Diese JSP-Datei wird in
dieses Servlet umgewandelt
und im Browser wie folgt
dargestellt mit diesem
HTML-Code
3
SOTE2­2015­05­08.notebook
May 08, 2015
2. Expressions
Syntax: <%= TEXT %>
<jsp:expression>TEXT</jsp:expression>
Alternative: <% out.write(TEXT); %>
4
SOTE2­2015­05­08.notebook
May 08, 2015
3. Deklarationen
Syntax:
<%! int b = 42; %>
<jsp:declaration>int b = 42;</jsp:declaration>
Deklarationen nutzt um, um Klassen/Instanzvariablen zu definieren, also Variablen, die Gültigkeit außerhalb der service()­Methoden haben. Damit können andere JSP­Dateien auf diese Variablen zugreifen.
5
SOTE2­2015­05­08.notebook
May 08, 2015
4. Direktiven
<%@ NAME_DIREKTIVE attribute1="wert1" attribut2="wert2" ... %>
<jsp:directive attribute1="wert1" attribut2="wert2" ... >NAME_DIREKTIVE</jsp:directive>
4.1 Page Direktiven
z.B. Import von Klassen
<%@ page import="java.util.* %>
z.B. Erben von Klassen
<%@ page extends="myPackage.MyClass" %>
6
SOTE2­2015­05­08.notebook
May 08, 2015
4.2 Include Directive
<%@ include file="footer.txt" %>
Die include­Direktive sorgt dafür, dass der Text in footer.txt in das Servlet hineinkompiliert wird. D.h. Änderungen an footer.txt werden zur Laufzeit ignoriert.
7
SOTE2­2015­05­08.notebook
May 08, 2015
5. Aktionen
5.1 Include
<jsp:include page="footer.txt" />
8
SOTE2­2015­05­08.notebook
May 08, 2015
5.2 Java Beans
Syntax: <jsp:useBean id="instanzname"
diese Zeile entspricht: Student hermann = new Student();
Wert auslesen. Entspricht
hermann.getName();
Auf der Instanz "hermann" wird der Wert des Attributs
"name" auf "hermine" geändert. Entspricht:
hermann.setName("Hermine");
JavaBeans sind "normale" Java­Klassen (POJO > Plain Old Java Object), die einer Namenskonvention für die getter und setter genügen.
9
SOTE2­2015­05­08.notebook
May 08, 2015
JavaBeans helfen, das "Backend", das in Java implementiert wird vom Frontend (HTML) zu trennen, in dem das Backend keinen HTML Code mehr enthält und das Frontend kein/
kaum Java­Code.
Die Java­Beans entsprechen in einem MVC­Pattern dem "Model" (enthält die Daten) und die JSP entspricht dem View (Darstellung) der Daten.
10
Herunterladen