Sobes.tech
Junior

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:

  1. Deklaraci servletů a jejich URL mapování.
  2. Deklaraci filtrů a jejich mapování.
  3. Konfiguraci posluchačů událostí.
  4. Definování parametrů kontextu aplikace.
  5. 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).
  6. 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á.