Proč není třeba konfigurovat standardní JSP značky v souboru web.xml?
sobes.tech AI
Odpověď od AI
Standardní JSP značky, jako <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> a další, jsou součástí specifikace JSP a JavaServer Pages Standard Tag Library (JSTL). Tyto knihovny značek jsou vždy dostupné v kontejneru servletů (například Tomcat, Jetty atd.), který podporuje specifikaci JSP.
Konfigurace v web.xml (deskriptor nasazení web-app) je obvykle nutná pro:
- Deklaraci servletů a jejich URL mapování.
- Deklaraci filtrů a jejich mapování.
- Konfiguraci posluchačů událostí.
- Definování parametrů kontextu aplikace.
- Konfiguraci vlastních knihoven značek (které nejsou součástí standardního JSTL), uvádějící umístění TLD souboru (Tag Library Descriptor).
- Konfiguraci relací, chybových stránek, uvítacích stránek atd.
Standardní JSP značky a knihovny JSTL (core, fmt, sql, xml) jsou již "známé" a jsou zpracovávány JSP enginem kontejneru. Jejich zpracovatelé jsou integrováni do implementace JSP. Proto není nutné je výslovně deklarovat v web.xml nebo stahovat další JAR soubory (kromě starších verzí kontejneru nebo pokud chcete použít specifickou verzi JSTL odlišnou od vestavěné). U standardních značek jsou jejich TLD soubory (například jsp.tld uvnitř JAR souborů JSTL) buď již v kontejneru, nebo kontejner ví, jak je najít bez explicitního uvedení v web.xml.
Použití standardních značek v JSP se provádí pomocí direktivy taglib:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Tato direktiva říká JSP enginu, aby používal knihovnu JSTL Core s prefixem c. Atribut uri odkazuje na jedinečný identifikátor pro knihovnu značek, který již kontejner zná.