Co jsou směrnice JSP?
- Direktivy JSP jsou zprávy do kontejneru JSP. Poskytují globální informace o celé stránce JSP.
- Směrnice JSP se používají k poskytnutí speciální instrukce kontejneru pro překlad JSP do kódu servletu.
- Ve fázi životního cyklu JSP musí být JSP převedeno na servlet, což je fáze překladu.
- Dávají pokyny kontejneru, jak zacházet s určitými aspekty zpracování JSP
- Směrnice mohou mít mnoho atributů oddělených čárkami jako páry klíč – hodnota.
- V JSP je směrnice popsána ve značkách <% @%>.
Syntaxe směrnice:
<%@ directive attribute %>
Existují tři typy směrnic:
- Direktiva stránky
- Zahrnout směrnici
- Směrnice Taglib
Každý z nich je podrobně popsán níže s příklady:
V tomto výukovém programu se naučíte -
- Směrnice JSP Page
- JSP Zahrnout směrnici
- Směrnice JSP Taglib
Směrnice JSP Page
Syntaxe direktivy stránky:
<%@ page… %>
- Poskytuje atributy, které se použijí na celou stránku JSP.
- Definuje atributy závislé na stránce, například skriptovací jazyk, chybová stránka a požadavky na ukládání do vyrovnávací paměti.
- Používá se k poskytování pokynů ke kontejneru, který se týká aktuální stránky JSP.
Následuje seznam jejích atributů přidružených k direktivě stránky:
- Jazyk
- Rozšiřuje
- Import
- typ obsahu
- informace
- zasedání
- isThreadSafe
- autoflush
- nárazník
- IsErrorPage
- kódování stránky
- errorPage
- isELIgonored
Více podrobností o každém atributu
- jazyk : Definuje programovací jazyk (základní jazyk) používaný na stránce.
Syntaxe jazyka:
<%@ page language="value" %>
Zde je hodnota programovacího jazyka (základní jazyk)
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Vysvětlení kódu: Ve výše uvedeném příkladu je hodnotou jazyka atributu Java, která je v tomto případě základním jazykem. Proto by kód ve značkách výrazů byl kompilován pomocí kompilátoru Java.
- Extends : Tento atribut se používá k rozšíření (zdědění) třídy, jako to dělá JAVA
Syntaxe přípon:
<%@ page extends="value" %>
Zde hodnota představuje třídu, ze které je třeba ji zdědit.
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>
Vysvětlení kódu: Ve výše uvedeném kódu JSP rozšiřuje DemoClass, který je v balíčku demotestu, a rozšíří všechny funkce třídy.
- Import : Tento atribut je nejpoužívanějším atributem v atributech direktivy stránky. Slouží ke sdělení kontejneru, aby při generování kódu servletu importoval jiné třídy Java, rozhraní, výčty atd. Je to podobné jako příkazy importu ve třídách Java, rozhraních.
Syntaxe importu :
<%@ page import="value" %>
Zde hodnota označuje třídy, které je třeba importovat.
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>
Vysvětlení kódu:
Ve výše uvedeném kódu importujeme třídu Date z balíčku java.util (všechny třídy nástrojů) a může používat všechny metody následující třídy.
- typ obsahu :
- Definuje schéma kódování znaků, tj. Slouží k nastavení typu obsahu a znakové sady odpovědi
- Výchozí typ contentType je „text / html; charset = ISO-8859-1“.
Syntaxe typu obsahu:
<%@ page contentType="value" %>
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Vysvětlení kódu:
Ve výše uvedeném kódu je typ obsahu nastaven jako text / html, nastavuje kódování znaků pro JSP a pro generovanou stránku odpovědi.
- informace
- Definuje řetězec, ke kterému lze přistupovat metodou getServletInfo ().
- Tento atribut se používá k nastavení popisu servletu.
Syntaxe informací:
<%@ page info="value" %>
Zde hodnota představuje informace servletu.
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Vysvětlení kódu:
Ve výše uvedeném kódu lze řetězec „Guru směrnice JSP“ načíst rozhraním servletu pomocí getServletInfo ()
- Zasedání
- Stránka JSP ve výchozím nastavení vytváří relaci.
- Někdy nepotřebujeme, aby byla relace vytvořena v JSP, a proto můžeme v tomto případě nastavit tento atribut na hodnotu false. Výchozí hodnota atributu relace je true a relace je vytvořena.
Když je nastavena na hodnotu false, můžeme označit kompilátor, aby relaci ve výchozím nastavení nevytvořil.
Syntaxe relace:
<%@ page session="true/false"%>
V tomto případě lze atribut relace nastavit na true nebo false
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>
Vysvětlení kódu:
Ve výše uvedeném příkladu je atribut relace nastaven na hodnotu „false“, proto naznačujeme, že v tomto JSP nechceme vytvářet žádnou relaci.
- isThreadSafe:
- Definuje model vláken pro generovaný servlet.
- Označuje úroveň bezpečnosti podprocesu implementovanou na stránce.
- Jeho výchozí hodnota je pravdivá, takže současně
- Tento atribut můžeme použít k implementaci rozhraní SingleThreadModel do generovaného servletu.
- Pokud jej nastavíme na hodnotu false, bude implementovat SingleThreadModel a bude mít přístup ke všem sdíleným objektům a může vést k nekonzistenci.
Syntaxe isThreadSafe:
<% @ page isThreadSafe="true/false" %>
Zde true nebo false představuje, pokud je tam synchronizace, pak nastavte jako true a nastavte ji jako false.
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>
Vysvětlení kódu:
Ve výše uvedeném kódu je isThreadSafe nastaveno na „true“, proto bude provedena synchronizace a lze použít více vláken.
- AutoFlush:
Tento atribut určuje, že výstup ve vyrovnávací paměti by měl být automaticky vyprázdněn nebo ne a výchozí hodnota tohoto atributu je true.
Pokud je hodnota nastavena na hodnotu false, vyrovnávací paměť nebude automaticky vyprázdněna a pokud je plná, získáme výjimku.
Pokud vyrovnávací paměť není žádná, pak je nepravdivá nelegitimní a neexistuje žádná vyrovnávací paměť, takže bude automaticky vyprázdněna.
Syntaxe autoFlush:
<% @ page autoFlush="true/false" %>
Zde true / false představuje, zda je třeba provést ukládání do vyrovnávací paměti nebo ne
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>
Vysvětlení kódu:
Ve výše uvedeném kódu je autoflush nastaven na hodnotu false, a proto nebude provedeno ukládání do vyrovnávací paměti a výstup byl ručně vyprázdněn.
- Buffer:
- Pomocí tohoto atributu může být výstupní objekt odezvy do vyrovnávací paměti.
- Pomocí tohoto atributu můžeme definovat velikost ukládání do vyrovnávací paměti a výchozí velikost je 8 kB.
- Nasměruje servlet k zápisu do vyrovnávací paměti před zápisem do objektu odpovědi.
Syntaxe vyrovnávací paměti:
<%@ page buffer="value" %>
Zde hodnota představuje velikost vyrovnávací paměti, kterou je třeba definovat. Pokud není k dispozici žádná vyrovnávací paměť, můžeme psát jako žádná, a pokud nezmiňujeme žádnou hodnotu, výchozí hodnota je 8 kB
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>
Vysvětlení kódu:
Ve výše uvedeném kódu je velikost vyrovnávací paměti uvedena jako 16 kB, přičemž vyrovnávací paměť by měla tuto velikost
- isErrorPage:
- Označuje, že stránka JSP, která má chybovou stránku, bude zkontrolována na jiné stránce JSP
- Libovolný soubor JSP deklarovaný s atributem „isErrorPage“ je poté schopen přijímat výjimky z jiných stránek JSP, které mají chybové stránky.
- Výjimky jsou k dispozici pouze pro tyto stránky.
- Výchozí hodnota je false.
Syntaxe isErrorPage:
<%@ page isErrorPage="true/false"%>
Příklad:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>
Vysvětlení kódu:
Ve výše uvedeném kódu je isErrorPage nastaven jako true. Proto zkontroluje, zda všechny ostatní JSP mají sadu atributů errorPage (popsanou v dalším atributu) a dokáže zpracovat výjimky.
- Kódování stránky:
Výchozí hodnota je zadána jako „ISO-8859-1“, pokud není zadána jiná.
Syntaxe pageEncoding:
<%@ page pageEncoding="vaue" %>
Zde hodnota určuje hodnotu znakové sady pro JSP
Příklad:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>
Vysvětlení kódu:
Ve výše uvedeném kódu byl „pageEncoding“ nastaven na výchozí znakovou sadu ISO-8859-1
- errorPage:
Syntaxe errorPage:
<%@ page errorPage="value" %>
Zde hodnota představuje chybovou hodnotu stránky JSP
Příklad:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>
Vysvětlení kódu:
Ve výše uvedeném kódu pro zpracování výjimek máme errroHandler.jsp
- isELIgnorováno:
- IsELIgnored je atribut vlajky, kde se musíme rozhodnout, zda budeme značky EL ignorovat nebo ne.
- Jeho datový typ je java enum a výchozí hodnota je false, proto je EL ve výchozím nastavení povoleno.
Syntaxe isELIgnored:
<%@ page isELIgnored="true/false" %>
Zde true / false představuje hodnotu EL, zda by měla být ignorována nebo ne.
Příklad:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>
Vysvětlení kódu:
Ve výše uvedeném kódu má isELIgnored hodnotu true, a proto je zde Expression Language (EL) ignorován.
V níže uvedeném příkladu používáme čtyři atributy (řádek kódu 1-2)
Příklad se čtyřmi atributy
<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%>Direktiva Guru JSP1 Datum je: <% = new java.util.Date ()%>