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:

  1. Seitenanweisung
  2. Anweisung einschlieรŸen
  3. 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:

  1. Sprache
  2. Erweitert
  3. Import
  4. Inhaltstyp
  5. patrick
  6. Session
  7. isThreadSafe
  8. Autoflush
  9. puffern
  10. IsErrorPage
  11. Seitenkodierung
  12. Fehlerseite
  13. 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

JSP-Seitenrichtlinie

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:

JSP-Include-Direktive

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

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: