Perché non è necessario configurare i tag JSP standard nel file web.xml?
sobes.tech AI
Risposta dell'AI
I tag JSP standard, come <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> e altri, fanno parte della specifica JSP e della JavaServer Pages Standard Tag Library (JSTL). Queste librerie di tag sono sempre disponibili nel contenitore di servlet (come Tomcat, Jetty, ecc.) che supporta la specifica JSP.
La configurazione in web.xml (il descrittore di distribuzione web-app) è generalmente necessaria per:
- Dichiarare i servlet e i loro mappamenti URL.
- Dichiarare i filtri e i loro mappamenti.
- Configurare gli ascoltatori di eventi.
- Definire i parametri di contesto dell'applicazione.
- Configurare le librerie di tag personalizzate (che non fanno parte di JSTL standard), indicando la posizione del file TLD (Tag Library Descriptor).
- Configurare le sessioni, le pagine di errore, le pagine di benvenuto, ecc.
I tag JSP standard e le librerie JSTL (core, fmt, sql, xml) sono già "conosciuti" e vengono elaborati dal motore JSP del contenitore. I loro gestori sono integrati nell'implementazione JSP. Pertanto, non è necessario dichiararli esplicitamente in web.xml né scaricare file JAR aggiuntivi (eccetto in versioni vecchie del contenitore o se si desidera usare una versione specifica di JSTL diversa da quella integrata). Per i tag standard, i loro file TLD (ad esempio, jsp.tld all'interno dei JAR JSTL) sono già presenti nel contenitore o il contenitore sa come trovarli senza indicazioni esplicite in web.xml.
L'uso dei tag standard in JSP si effettua tramite la direttiva taglib:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Questa direttiva indica al motore JSP di usare la libreria JSTL Core con il prefisso c. L'attributo uri punta a un identificatore univoco per la libreria di tag, che il contenitore già conosce.