Zašto nije potrebno konfigurisati standardne JSP oznake u fajlu web.xml?
sobes.tech АИ
Одговор од АИ
Standardne JSP oznake, kao <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> i druge, deo su JSP specifikacije i JavaServer Pages Standard Tag Library (JSTL). Ove biblioteke oznaka su uvek dostupne u servlet kontejneru (kao što su Tomcat, Jetty itd.), koji podržava JSP specifikaciju.
Konfiguracija u web.xml (deskriptor za implementaciju web-app) je obično potrebna za:
- Deklarisanje servletova i njihovih URL mapiranja.
- Deklarisanje filtera i njihovih mapiranja.
- Konfiguraciju slušalaca događaja.
- Definisanje parametara konteksta aplikacije.
- Konfiguraciju prilagođenih biblioteka oznaka (koje nisu deo standardnog JSTL), navodeći lokaciju TLD fajla (Tag Library Descriptor).
- Konfiguraciju sesija, stranica za greške, stranica za doček i slično.
Standardne JSP oznake i JSTL biblioteke (core, fmt, sql, xml) su već "poznate" i obrađuju se od strane JSP motora kontejnera. Njihovi upravljači su ugrađeni u JSP implementaciju. Zbog toga nije potrebno eksplicitno ih deklarisati u web.xml ili preuzimati dodatne JAR fajlove (osim u starijim verzijama kontejnera ili ako želite da koristite određenu verziju JSTL koja se razlikuje od ugrađene). Za standardne oznake, njihovi TLD fajlovi (na primer, jsp.tld unutar JSTL JAR fajlova) ili već postoje u kontejneru, ili kontejner zna kako da ih pronađe bez eksplicitnog navođenja u web.xml.
Korišćenje standardnih oznaka u JSP-u se vrši pomoću direktive taglib:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Ova direktiva govori JSP motoru da koristi JSTL Core biblioteku sa prefiksom c. Atribut uri ukazuje na jedinstveni identifikator za biblioteku oznaka, koji već poznaje kontejner.