Sobes.tech
Junior

Niyə web.xml faylında standart JSP-teqləri konfiqurasiya etmək lazım deyil?

sobes.tech Süni İntellekt

AI-dan cavab

Standart JSP-teqlər, 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 (yayım təsviri web-app) konfiqurasiyası adətən aşağıdakılar üçün tələb olunur:

  1. Servletlərin və onların URL xəritələrinin elan olunması.
  2. Filtrlərin və onların xəritələrinin elan olunması.
  3. Hadisə dinləyicilərinin konfiqurasiyası.
  4. Tətbiq kontekst parametrlərinin təyini.
  5. Xüsusi teqlər kitabxanalarının konfiqurasiyası (standart JSTL-ə daxil olmayanlar), TLD faylının yerləşməsini göstərməklə.
  6. 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.