Ce sunt directivele JSP?
- Directivele JSP sunt mesajele către containerul JSP. Acestea oferă informații globale despre o întreagă pagină JSP.
- Directivele JSP sunt utilizate pentru a da instrucțiuni speciale unui container pentru traducerea JSP în cod servlet.
- În faza ciclului de viață JSP, JSP trebuie convertit într-un servlet care este faza de traducere.
- Aceștia dau instrucțiuni containerului despre cum să gestioneze anumite aspecte ale procesării JSP
- Directivele pot avea multe atribute prin virgulă separate ca perechi cheie-valoare.
- În JSP, directiva este descrisă în etichete <% @%>.
Sintaxa directivei:
<%@ directive attribute %>
Există trei tipuri de directive:
- Directiva paginii
- Includeți directiva
- Directiva Taglib
Fiecare dintre ele este descris în detaliu mai jos, cu exemple:
În acest tutorial, veți învăța -
- Directiva JSP Page
- Directiva JSP Include
- Directiva JSP Taglib
Directiva JSP Page
Sintaxa directivei de pagină:
<%@ page… %>
- Oferă atribute care se aplică întregii pagini JSP.
- Acesta definește atributele dependente de pagină, cum ar fi limbajul de scriptare, pagina de eroare și cerințele de tamponare.
- Este utilizat pentru a furniza instrucțiuni unui container care se referă la pagina JSP curentă.
Următoarele sunt lista atributelor asociate cu directiva paginii:
- Limba
- Se extinde
- Import
- tipul de conținut
- info
- sesiune
- isThreadSafe
- autofosh
- tampon
- IsErrorPage
- paginaCodare
- ErrorPage
- este ELIgonorat
Mai multe detalii despre fiecare atribut
- limbaj : definește limbajul de programare (limbajul de bază) utilizat în pagină.
Sintaxa limbajului:
<%@ page language="value" %>
Aici valoarea este limbajul de programare (limbajul de bază)
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Explicația codului: În exemplul de mai sus, valoarea limbajului atribut este Java, care este limbajul de bază în acest caz. Prin urmare, codul din etichetele de expresie ar fi compilat utilizând compilatorul Java.
- Extinde : Acest atribut este utilizat pentru a extinde (moșteni) clasa, așa cum o face JAVA
Sintaxa extinde:
<%@ page extends="value" %>
Aici valoarea reprezintă clasa din care trebuie moștenită.
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>
Explicația codului: în codul de mai sus, JSP extinde DemoClass, care se află în pachetul demotest și va extinde toate caracteristicile clasei.
- Import : Acest atribut este cel mai utilizat atribut în atributele directivei de pagină. Este folosit pentru a spune containerului să importe alte clase java, interfețe, enumere etc. în timp ce generează cod servlet. Este similar cu declarațiile de import din clasele java, interfețe.
Sintaxa importului :
<%@ page import="value" %>
Aici valoarea indică clasele care trebuie importate.
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>
Explicația codului:
În codul de mai sus, importăm clasa Date din pachetul java.util (toate clasele de utilități) și poate utiliza toate metodele din clasa următoare.
- contentType :
- Acesta definește schema de codificare a caracterelor, adică este utilizată pentru a seta tipul de conținut și setul de caractere al răspunsului
- Tipul implicit de contentType este „text / html; charset = ISO-8859-1”.
Sintaxa conținutului Tip:
<%@ page contentType="value" %>
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Explicația codului:
În codul de mai sus, tipul de conținut este setat ca text / html, stabilește codificarea caracterelor pentru JSP și pentru pagina de răspuns generată.
- info
- Acesta definește un șir care poate fi accesat prin metoda getServletInfo ().
- Acest atribut este utilizat pentru a seta descrierea servletului.
Sintaxa informațiilor:
<%@ page info="value" %>
Aici, valoarea reprezintă informațiile servletului.
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Explicația codului:
În codul de mai sus, șirul „Directiva Guru JSP” poate fi recuperat de interfața servlet folosind getServletInfo ()
- Sesiune
- Pagina JSP creează sesiunea în mod implicit.
- Uneori nu avem nevoie de o sesiune pentru a fi creat în JSP și, prin urmare, putem seta acest atribut la fals în acest caz. Valoarea implicită a atributului de sesiune este adevărată, iar sesiunea este creată.
Când este setat la fals, atunci putem indica compilatorului să nu creeze sesiunea în mod implicit.
Sintaxa sesiunii:
<%@ page session="true/false"%>
Aici, în acest caz, atributul sesiunii poate fi setat la adevărat sau fals
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>
Explicația codului:
În exemplul de mai sus, atributul sesiunii este setat la „fals”, de aceea indicăm că nu dorim să creăm nicio sesiune în acest JSP
- isThreadSafe:
- Acesta definește modelul de filetare pentru servletul generat.
- Indică nivelul de siguranță a firelor implementat în pagină.
- Valoarea sa implicită este adevărată deci simultană
- Putem folosi acest atribut pentru a implementa interfața SingleThreadModel în servletul generat.
- Dacă îl setăm la fals, atunci acesta va implementa SingleThreadModel și poate accesa orice obiecte partajate și poate produce inconsistență.
Sintaxa lui isThreadSafe:
<% @ page isThreadSafe="true/false" %>
Aici adevărat sau fals reprezintă dacă există sincronizare, apoi setați ca adevărat și setați-l ca fals.
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>
Explicația codului:
În codul de mai sus, isThreadSafe este setat la „adevărat”, prin urmare se va face sincronizarea și pot fi utilizate mai multe fire.
- AutoFlush:
Acest atribut specifică faptul că ieșirea tamponată trebuie spălată automat sau nu și valoarea implicită a atributului respectiv este adevărată.
Dacă valoarea este setată la fals, tamponul nu va fi spălat automat și dacă este plin, vom obține o excepție.
Când tamponul nu este nici unul, atunci falsul este ilegitim și nu există tampon, deci va fi spălat automat.
Sintaxa autoFlush:
<% @ page autoFlush="true/false" %>
Aici adevărat / fals reprezintă dacă buffering-ul trebuie făcut sau nu
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>
Explicația codului:
În codul de mai sus, autoflush-ul este setat la false și, prin urmare, tamponarea nu va fi realizată și va spăla manual ieșirea.
- Tampon:
- Folosind acest atribut, obiectul de răspuns de ieșire poate fi tamponat.
- Putem defini dimensiunea tamponului care trebuie realizat folosind acest atribut, iar dimensiunea implicită este de 8 KB.
- Direcționează servletul să scrie bufferul înainte de a scrie pe obiectul de răspuns.
Sintaxa tamponului:
<%@ page buffer="value" %>
Aici valoarea reprezintă dimensiunea buffer-ului care trebuie definit. Dacă nu există tampon, atunci putem scrie ca niciunul și dacă nu menționăm nicio valoare, atunci valoarea implicită este 8KB
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>
Explicația codului:
În codul de mai sus, dimensiunea buffer-ului este menționată ca 16 KB, în care buffer-ul ar fi de acea dimensiune
- isErrorPage:
- Indică faptul că pagina JSP care are o pagină error va fi verificată într-o altă pagină JSP
- Orice fișier JSP declarat cu atributul "isErrorPage" este apoi capabil să primească excepții de la alte pagini JSP care au pagini de eroare.
- Excepții sunt disponibile numai pentru aceste pagini.
- Valoarea implicită este falsă.
Sintaxa isErrorPage:
<%@ page isErrorPage="true/false"%>
Exemplu:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>
Explicația codului:
În codul de mai sus, isErrorPage este setat ca fiind adevărat. Prin urmare, va verifica dacă orice alte JSP-uri au setul de atribute errorPage (descris în atributul următor) și poate gestiona excepții.
- Codare pagină:
Valoarea implicită este specificată ca "ISO-8859-1" dacă nu este specificată alta.
Sintaxa codării paginii:
<%@ page pageEncoding="vaue" %>
Aici valoarea specifică valoarea setului de caractere pentru JSP
Exemplu:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>
Explicația codului:
În codul de mai sus, „pageEncoding” a fost setat la setul de caractere implicit ISO-8859-1
- Pagina de eroare:
Sintaxa erorii Pagină:
<%@ page errorPage="value" %>
Aici valoarea reprezintă valoarea paginii JSP de eroare
Exemplu:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>
Explicația codului:
În codul de mai sus, pentru a gestiona excepțiile, avem errroHandler.jsp
- isELIgnored:
- IsELIgnored este un atribut de semnalizare în care trebuie să decidem dacă ignorăm sau nu etichetele EL.
- Tipul său de date este java enum, iar valoarea implicită este falsă, prin urmare EL este activat în mod implicit.
Sintaxa lui isELIgnored:
<%@ page isELIgnored="true/false" %>
Aici, adevărat / fals reprezintă valoarea EL indiferent dacă ar trebui ignorată sau nu.
Exemplu:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>
Explicația codului:
În codul de mai sus, isELIgnored este adevărat și, prin urmare, Limbajul de expresie (EL) este ignorat aici.
În exemplul de mai jos folosim patru atribute (linia de cod 1-2)
Exemplu cu patru atribute
<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%>Directiva Guru JSP1 Data este: <% = new java.util.Date ()%>