Miks ei ole vaja konfigureerida standardseid JSP-silte web.xml failis?
sobes.tech AI
Vastus AI-lt
Standardsed JSP-elemendid, nagu <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> ja teised, on osa JSP-spetsifikatsioonist ja JavaServer Pages Standard Tag Library (JSTL). Need tagnõuete teegid on alati saadaval servletite konteineris (nagu Tomcat, Jetty jne), mis toetab JSP-spetsifikatsiooni.
Konfiguratsioon web.xml-s (dünaamilise rakenduse kirjeldus web-app) on tavaliselt vajalik:
- Servletite ja nende URL-i marsruutide deklareerimiseks.
- Filtrite ja nende marsruutide deklareerimiseks.
- Sündmuste kuulajate seadistamiseks.
- Rakenduse kontekstiparameetrite määratlemiseks.
- Kasutaja tagnõuete teekide konfiguratsioon (mitte osa JSTL-i standardist), märkides TLD-faili asukoha (Tag Library Descriptor).
- Sessioonide, vealehtede, tervitussaitide jms seadistused.
Standardsed JSP-elemendid ja JSTL-teegid (core, fmt, sql, xml) on juba "tuntud" ja töödeldakse JSP-mootori enda poolt. Nende töötlemine on integreeritud JSP-implementatsiooniga. Seetõttu ei ole vaja neid eraldi web.xml-s deklareerida ega täiendavaid JAR-faile alla laadida (eriti vanemate konteinerite versioonide puhul või kui soovite kasutada konkreetset JSTL-versiooni, mis erineb sisseehitatud versioonist). Standardsete tagnõuete TLD-failid (näiteks jsp.tld JAR-failides JSTL) on juba konteineris või konteiner teab, kuidas neid leida ilma selge märkimiseta web.xml-s.
Standardsete tagnõuete kasutamiseks JSP-s kasutatakse direktiivi taglib:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
See direktiiv ütleb JSP-mootorile kasutada JSTL Core teeki prefiksiga c. uri atribuut näitab unikaalset identifikaatorit tagnõuete teegile, mida konteiner juba teab.