JSP-Richtlinien
Was sind JSP-Richtlinien?
- JSP-Anweisungen sind die Nachrichten an den JSP-Container. Sie stellen globale Informationen รผber eine gesamte JSP-Seite bereit.
- JSP-Direktiven werden verwendet, um einem Container spezielle Anweisungen fรผr die รbersetzung von JSP in Servlet-Code zu erteilen.
- In der JSP-Lebenszyklusphase muss JSP in ein Servlet konvertiert werden, was die รbersetzungsphase darstellt.
- Sie geben dem Container Anweisungen zum Umgang mit bestimmten Aspekten der JSP-Verarbeitung
- Direktiven kรถnnen viele durch Kommas getrennte Attribute als Schlรผssel-Wert-Paare enthalten.
- In JSP wird die Direktive wie folgt beschrieben:
<%@ %>Stichworte.
Syntax der Richtlinie:
<%@ directive attribute="" %>
Arten von Anweisungen in JSP
Es gibt drei Arten von Anweisungen in JSP:
- Seitenanweisung
- Anweisung einschlieรen
- Taglib-Direktive
Jeder von ihnen wird im Folgenden anhand von Beispielen ausfรผhrlich beschrieben:
1) JSP-Seitendirektive
Syntax der Page-Direktive:
<%@ pageโฆ%>
- Es stellt Attribute bereit, die auf die gesamte JSP-Seite angewendet werden.
- Es definiert seitenabhรคngige Attribute wie Skriptsprache, Fehlerseite und Pufferanforderungen.
- Es wird verwendet, um Anweisungen fรผr einen Container bereitzustellen, der sich auf die aktuelle JSP-Seite bezieht.
Nachfolgend finden Sie eine Liste der mit der Seitenanweisung verknรผpften Attribute:
- Sprache
- Erweitert
- Import
- Inhaltstyp
- patrick
- Session
- isThreadSafe
- Autoflush
- puffern
- IsErrorPage
- Seitenkodierung
- Fehlerseite
- istELIgonored
Weitere Details zu den einzelnen Attributen
1) Sprache: Es definiert die Programmiersprache (zugrunde liegende Sprache), die auf der Seite verwendet wird.
Syntax der Sprache:
<%@ page language="value" %>
Hier ist der Wert die Programmiersprache (zugrundeliegende Sprache)
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
Erklรคrung des Codes: Im obigen Beispiel lautet der Attributsprachenwert Java Dies ist in diesem Fall die zugrunde liegende Sprache. Daher wรผrde der Code in Ausdrucks-Tags mit dem Java-Compiler kompiliert.
2) Erweitert: Dieses Attribut wird verwendet, um die Klasse zu erweitern (zu erben), wie es JAVA tut
Syntax von Extends:
<%@ page extends="value" %>
Hier stellt der Wert die Klasse dar, von der er geerbt werden muss.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page extends="demotest.DemoClass" %>
Erklรคrung des Codes: Im obigen Code erweitert JSP die DemoClass, die sich im Demotest-Paket befindet, und erweitert alle Klassenfunktionen.
3) Importieren: Dieses Attribut ist das am hรคufigsten verwendete Attribut in Seitendirektivenattributen. Es wird verwendet, um den Container anzuweisen, andere Java-Klassen, Schnittstellen, Aufzรคhlungen usw. zu importieren, wรคhrend Servlet-Code generiert wird. Es รคhnelt Importanweisungen in Java-Klassen und -Schnittstellen.
Syntax des Imports:
<%@ page import="value" %>
Hier gibt der Wert die Klassen an, die importiert werden mรผssen.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
import="java.util.Date" pageEncoding="ISO-8859-1"%>
Erklรคrung des Codes:
Im obigen Code importieren wir die Date-Klasse aus dem Paket java.util (alle Hilfsklassen) und sie kann alle Methoden der folgenden Klasse verwenden.
4) Inhaltstyp:
- Es definiert das Zeichenkodierungsschema, dh es wird verwendet, um den Inhaltstyp und den Zeichensatz der Antwort festzulegen
- Der Standardtyp von contentType ist
"text/html; charset=ISO-8859-1".
Syntax des contentType:
<%@ page contentType="value" %>
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
Erklรคrung des Codes:
Im obigen Code ist der Inhaltstyp auf โtext/htmlโ festgelegt, er legt die Zeichenkodierung fรผr JSP und fรผr die generierte Antwortseite fest.
5) Infos
- Es definiert eine Zeichenfolge, auf die mit der Methode getServletInfo() zugegriffen werden kann.
- Dieses Attribut wird zum Festlegen der Servlet-Beschreibung verwendet.
Syntax der Informationen:
<%@ page info="value" %>
Hier stellt der Wert die Servlet-Informationen dar.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Erklรคrung des Codes:
Im obigen Code, Zeichenkette โGuru Die Direktive โJSPโ kann รผber die Servlet-Schnittstelle mit getServletInfo() abgerufen werden.
6) Sitzung
- Die JSP-Seite erstellt standardmรครig eine Sitzung.
- Manchmal muss in JSP keine Sitzung erstellt werden. In diesem Fall kรถnnen wir dieses Attribut auf โfalseโ setzen. Der Standardwert des Sitzungsattributs ist โtrueโ und die Sitzung wird erstellt. Wenn es auf โfalseโ gesetzt ist, kรถnnen wir dem Compiler mitteilen, dass die Sitzung standardmรครig nicht erstellt werden soll.
Syntax der Sitzung:
<%@ page session="true/false"%>
In diesem Fall kann das Sitzungsattribut auf โtrueโ oder โfalseโ gesetzt werden
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
session="false"%>
Erklรคrung des Codes:
Im obigen Beispiel ist das Sitzungsattribut auf โfalseโ gesetzt, daher geben wir an, dass wir in dieser JSP keine Sitzung erstellen mรถchten
7) isThreadSafe:
- Es definiert das Threading-Modell fรผr das generierte Servlet.
- Es gibt den Grad der Thread-Sicherheit an, der auf der Seite implementiert ist.
- Der Standardwert ist โtrueโ, sodass gleichzeitige
- Wir kรถnnen dieses Attribut verwenden, um die SingleThreadModel-Schnittstelle im generierten Servlet zu implementieren.
- Wenn wir es auf โfalseโ setzen, implementiert es SingleThreadModel und kann auf alle gemeinsam genutzten Objekte zugreifen, was zu Inkonsistenzen fรผhren kann.
Syntax von isThreadSafe:
<% @ page isThreadSafe="true/false" %>
Hier bedeutet โtrueโ oder โfalseโ, dass, wenn eine Synchronisierung stattfindet, diese auf โtrueโ bzw. โfalseโ gesetzt wird.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
isThreadSafe="true"%>
Erklรคrung des Codes:
Im obigen Code ist isThreadSafe auf โtrueโ gesetzt, daher wird eine Synchronisierung durchgefรผhrt und es kรถnnen mehrere Threads verwendet werden.
8) AutoSpรผlung:
Dieses Attribut gibt an, ob die gepufferte Ausgabe automatisch geleert werden soll oder nicht. Der Standardwert dieses Attributs ist โtrueโ. Wenn der Wert auf โfalseโ gesetzt ist, wird der Puffer nicht automatisch geleert. Wenn er voll ist, erhalten wir eine Ausnahme. Wenn der Puffer leer ist, ist โfalseโ unzulรคssig und es gibt keine Pufferung. Daher wird er automatisch geleert.
Syntax von autoFlush:
<% @ page autoFlush="true/false" %>
Hier gibt true/false an, ob gepuffert werden soll oder nicht.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
autoFlush="false"%>
Erklรคrung des Codes:
Im obigen Code ist die automatische Leerung auf โfalseโ eingestellt, daher wird keine Pufferung durchgefรผhrt und die Ausgabe muss manuell geleert werden.
9) Buffer:
- Mit diesem Attribut kann das Ausgabeantwortobjekt gepuffert werden.
- Mit diesem Attribut kรถnnen wir die Grรถรe der Pufferung definieren. Die Standardgrรถรe betrรคgt 8 KB.
- Es weist das Servlet an, den Puffer zu schreiben, bevor es in das Antwortobjekt schreibt.
Syntax des Puffers:
<%@ page buffer="value" %>
Hier stellt der Wert die Grรถรe des Puffers dar, der definiert werden muss. Wenn kein Puffer vorhanden ist, kรถnnen wir โnoneโ schreiben, und wenn wir keinen Wert angeben, ist der Standardwert 8 KB
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
buffer="16KB"%>
Erklรคrung des Codes:
Im obigen Code wird die Puffergrรถรe mit 16 KB angegeben, wobei der Puffer diese Grรถรe haben wรผrde
10) isErrorPage:
- Es zeigt an, dass eine JSP-Seite mit einer Fehlerseite auf einer anderen JSP-Seite รผberprรผft wird
- Jede mit dem Attribut โisErrorPageโ deklarierte JSP-Datei kann dann Ausnahmen von anderen JSP-Seiten empfangen, die Fehlerseiten haben.
- Ausnahmen gelten nur fรผr diese Seiten.
- Der Standardwert ist false.
Syntax von isErrorPage:
<%@ page isErrorPage="true/false"%>
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
isErrorPage="true"%>
Erklรคrung des Codes:
Im obigen Code ist isErrorPage auf true gesetzt. Daher prรผft es, ob bei allen anderen JSPs das Attribut โerrorPageโ (im nรคchsten Attribut beschrieben) festgelegt ist, und kann Ausnahmen verarbeiten.
11) Seitenkodierung:
Das Attribut โpageEncodingโ definiert die Zeichenkodierung fรผr die JSP-Seite. Der Standardwert ist โISO-8859-1โ, wenn kein anderer Wert angegeben ist.
Syntax von pageEncoding:
<%@ page pageEncoding="vaue" %>
Hier gibt value den Zeichensatzwert fรผr JSP an
Ejemplo:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"
isErrorPage="true"%>
Erklรคrung des Codes:
Im obigen Code wurde โpageEncodingโ auf den Standardzeichensatz ISO-8859-1 eingestellt
12) Fehlerseite:
Dieses Attribut wird verwendet, um die Fehlerseite fรผr die JSP-Seite festzulegen, wenn JSP eine Ausnahme auslรถst und dann zur Ausnahmeseite umleitet.
Syntax von errorPage:
<%@ page errorPage="value" %>
Hier stellt der Wert den Wert der Fehler-JSP-Seite dar
Ejemplo:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"
errorPage="errorHandler.jsp"%>
Erklรคrung des Codes:
Im obigen Code haben wir zur Behandlung von Ausnahmen errroHandler.jsp
13) isELIgnored:
- IsELIgnored ist ein Flag-Attribut, bei dem wir entscheiden mรผssen, ob EL-Tags ignoriert werden sollen oder nicht.
- Sein Datentyp ist Java Enum und der Standardwert ist โfalseโ, daher ist EL standardmรครig aktiviert.
Syntax von isELIgnored:
<%@ page isELIgnored="true/false" %>
Hier stellt wahr/falsch den Wert von EL dar, unabhรคngig davon, ob er ignoriert werden soll oder nicht.
Ejemplo:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"
isELIgnored="true"%>
Erklรคrung des Codes:
Im obigen Code ist isELIgnored wahr und daher Ausdruckssprache (EL) wird hier ignoriert. Im folgenden Beispiel verwenden wir vier Attribute (Codezeile 1-2)
Beispiel mit vier Attributen
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"
isELIgnored="false"%>
<%@page import="java.util.Date" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Directive Guru JSP1</title>
</head>
<body>
<a>Date is:</a>
<%= new java.util.Date() %>
</body>
</html>
Erklรคrung des Codes:
Code Zeile 1-2: Hier haben wir vier Attribute definiert, d
- Sprache: Es ist eingestellt als Java als Programmiersprache
- contentType: Als text/html festlegen, um dem Compiler mitzuteilen, dass HTML formatiert werden muss
- pageEncoding: In diesem Attribut wird der Standardzeichensatz festgelegt
- isELIgnored: Ausdrucks-Tag ist falsch und wird daher nicht ignoriert
Code Linie 3: Hier haben wir das Importattribut verwendet und es importiert die โDatumsklasseโ, die aus Java util-Paket, und wir versuchen, das aktuelle Datum im Code anzuzeigen.
Wenn Sie den obigen Code ausfรผhren, erhalten Sie die folgende Ausgabe
Ausgang:
- Datum ist: Aktuelles Datum unter Verwendung der Datumsmethode der Datumsklasse
2)JSP Include-Direktive
- Die JSP-Include-Direktive (Codezeile 8) wird verwendet, um eine Datei in eine andere Datei einzubinden
- Bei dieser enthaltenen Datei kann es sich um HTML-, JSP-, Textdateien usw. handeln.
- Es ist auch nรผtzlich, wenn Sie Vorlagen mit Benutzeransichten erstellen und die Seiten in Kopf- und Fuรzeilen sowie Seitenleistenaktionen unterteilen.
- Es schlieรt die Datei wรคhrend der รbersetzungsphase ein
Syntax der Include-Direktive:
<%@ includeโฆ.%>
Ejemplo:
Directive_jsp2.jsp (Hauptdatei)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ include file="directive_header_jsp3.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Directive JSP2</title>
</head>
<body>
<a>This is the main file</a>
</body>
</html>
Directive_header_jsp3.jsp (in der Hauptdatei enthalten)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<a>Header file : </a>
<%int count =1; count++;
out.println(count);%> :
</body>
</html>
Erklรคrung des Codes:
Direktive_jsp2.jsp:
Code Linie 3: In diesem Code verwenden wir Include-Tags, bei denen wir die Datei โdirective_header_jsp3.jspโ in die Hauptdatei (_jsp2.jsp) einbinden und die Ausgabe sowohl der Hauptdatei als auch der enthaltenen Datei erhalten.
Directive_header_jsp3.jsp:
Code Zeile 11-12: Wir haben eine auf 1 initialisierte Variablenanzahl genommen und diese dann erhรถht. Dies ergibt die Ausgabe in der Hauptdatei, wie unten gezeigt.
Wenn Sie den obigen Code ausfรผhren, erhalten Sie die folgende Ausgabe:
Ausgang:
- Die Ausgabe ist Header-Datei: 2: Dies ist die Hauptdatei
- Die Ausgabe wird aus der Datei โdirective_jsp2.jspโ ausgefรผhrt, wรคhrend die enthaltene Datei โdirective_header_jsp3.jspโ zuerst kompiliert wird.
- Nachdem die eingebundene Datei fertig ist, wird die Hauptdatei ausgefรผhrt und die Ausgabe erfolgt aus der Hauptdatei โDies ist die Hauptdateiโ. Sie erhalten also die Ausgabe als โHeader-Datei: 2โ von _jsp3.jsp und โDies ist die Hauptdateiโ von _jsp2.jsp.
3) JSP Taglib-Direktive
- Die JSP-Taglib-Direktive wird verwendet, um die Tag-Bibliothek mit โtaglibโ als Prรคfix zu definieren, das wir in verwenden kรถnnen JSP.
- Weitere Einzelheiten werden im Abschnitt โBenutzerdefinierte JSP-Tagsโ behandelt
- Die JSP-Taglib-Direktive wird in den JSP-Seiten unter Verwendung der JSP-Standard-Tag-Bibliotheken verwendet
- Es verwendet eine Reihe benutzerdefinierter Tags, identifiziert den Speicherort der Bibliothek und bietet Mรถglichkeiten zur Identifizierung benutzerdefinierter Tags auf der JSP-Seite.
Syntax der Taglib-Direktive:
<%@ taglib uri="uri" prefix="value"%>
Hier ist das Attribut โuriโ ein eindeutiger Bezeichner im Tag-Bibliotheksdeskriptor und das Attribut โprefixโ ein Tag-Name.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="gurutag" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Directive JSP</title>
<gurutag:hello/>
</head>
<body>
</body>
</html>
Erklรคrung des Codes:
Code Linie 3: Hier wird โtaglibโ mit den Attributen uri und prefix definiert.
Code Linie 9: โgurutagโ ist das definierte benutzerdefinierte Tag und kann รผberall verwendet werden


