Γιατί δεν είναι απαραίτητο να διαμορφώσετε τις προεπιλεγμένες ετικέτες JSP στο αρχείο web.xml;
sobes.tech AI
Απάντηση από AI
Standart JSP-teglar, məsələn <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> və digər, JSP spesifikasiyasının və JavaServer Pages Standard Tag Library (JSTL) nin bir hissəsidir. Bu teqlər kitabxanaları, JSP spesifikasiyasını dəstəkləyən servlet konteynerində (məsələn, Tomcat, Jetty və s.) həmişə mövcuddur.
web.xml (tarqatma təsviri web-app) konfiqurasiyası adətən aşağıdakı üçün tələb olunur:
- Servletlərin və onların URL xəritələrinin elan olunması.
- Filtrlərin və onların xəritələrinin elan olunması.
- Hadisə dinləyicilərinin konfiqurasiyası.
- Tətbiq kontekst parametrlərinin təyini.
- Xüsusi teqlər kitabxanalarının konfiqurasiyası (standart JSTL-ə daxil olmayanlar), TLD faylının yerləşməsini göstərməklə.
- Sessiyalar, səhv səhifələri, salam səhifələri və s. üçün konfiqurasiya.
Standart JSP-teqlər və JSTL kitabxanaları (core, fmt, sql, xml) artıq "bilinir" və konteynerin JSP mühərriki tərəfindən işlənir. Onların idarəediciləri JSP tətbiqinə inteqrasiya olunub. Buna görə, onları web.xml-də açıq şəkildə elan etməyə və ya əlavə JAR fayllarını yükləməyə ehtiyac yoxdur (köhnə konteyner versiyaları və ya daxil olan versiyadan fərqli JSTL istifadə etmək istəsəniz). Standart teqlər üçün, onların TLD faylları (məsələn, jsp.tld JSTL JAR-larında) ya artıq konteynerdə mövcuddur, ya da konteyner onları tapmağı bilir, web.xml-də açıq göstərməyə ehtiyac olmadan.
JSP-də standart teqlərdən istifadə taglib direktivi ilə həyata keçirilir:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Bu direktiv JSP mühərrikinə JSTL Core kitabxanasını c prefiksi ilə istifadə etməsini bildirir. uri atributu, teqlər kitabxanası üçün unikal identifikatoru göstərir və konteyner artıq bunu bilir.