Kodėl nereikia konfigūruoti standartinių JSP žymių web.xml faile?
sobes.tech AI
Atsakymas iš AI
Standartinės JSP žymės, tokios kaip <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> ir kitos, yra JSP specifikacijos ir JavaServer Pages Standard Tag Library (JSTL) dalis. Šios žymų bibliotekos visada yra prieinamos servletų konteineryje (tokiu kaip Tomcat, Jetty ir kt.), kuris palaiko JSP specifikaciją.
Konfigūracija web.xml (dėrimo aprašyme web-app) dažniausiai reikalinga:
- Servletų ir jų URL maršrutų deklaravimui.
- Filtrų ir jų maršrutų deklaravimui.
- Įvykių stebėtojų nustatymui.
- Programos kontekstinių parametrų apibrėžimui.
- Naudotojo žymų bibliotekų konfigūracijai (neįtrauktai į standartinę JSTL), nurodant TLD failo vietą (Tag Library Descriptor).
- Sesijų, klaidų puslapių, pasveikinimo puslapių ir pan. nustatymams.
Standartinės JSP žymės ir JSTL bibliotekos (core, fmt, sql, xml) jau "žinomos" ir apdorojamos pačio JSP variklio. Jų apdorojimas integruotas į JSP realizaciją. Todėl nėra būtina jų aiškiai deklaruoti web.xml arba atsisiųsti papildomų JAR failų (ypač senesnėse konteinerių versijose arba jei norite naudoti tam tikrą JSTL versiją, išskirtinę nuo integruotos). Standartinių žymų TLD failai (pavyzdžiui, jsp.tld JAR failuose JSTL) arba jau yra konteineryje, arba konteineris žino, kaip juos rasti be aiškaus nurodymo web.xml.
Naudojant standartines žymes JSP, tai daroma naudojant taglib direktyvą:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Ši direktyva nurodo JSP varikliui naudoti JSTL Core biblioteką su prefiksu c. uri atributas nurodo unikalų žymų bibliotekos identifikatorių, kurį jau žino konteineris.