Neden web.xml dosyasında standart JSP etiketlerini yapılandırmaya gerek yok?
sobes.tech yapay zeka
AI'dan gelen yanıt
Standart JSP etiketleri, <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> ve diğerleri gibi, JSP spesifikasyonunun ve JavaServer Pages Standart Etiket Kütüphanesi'nin (JSTL) bir parçasıdır. Bu etiket kütüphaneleri, JSP spesifikasyonunu destekleyen servlet konteynerinde (Tomcat, Jetty vb.) her zaman mevcuttur.
web.xml (dağıtım tanımlayıcısı web-app) içindeki yapılandırma genellikle şunlar için gereklidir:
- Servisler ve URL eşlemeleri bildirilmesi.
- Filtreler ve eşlemelerinin bildirilmesi.
- Olay dinleyicilerinin yapılandırılması.
- Uygulama bağlam parametrelerinin tanımlanması.
- Özel etiket kitaplıklarının yapılandırılması (standart JSTL'nin dışında olanlar), TLD dosyasının (Tag Library Descriptor) konumunu belirterek.
- Oturumlar, hata sayfaları, hoşgeldiniz sayfaları vb. yapılandırmaları.
Standart JSP etiketleri ve JSTL kütüphaneleri (core, fmt, sql, xml) zaten "bilinen" ve konteynerin JSP motoru tarafından işlenir. İşleyicileri JSP uygulamasına entegre edilmiştir. Bu nedenle, web.xml içinde açıkça bildirmeye veya ek JAR dosyaları indirmeye gerek yoktur (eski konteyner sürümleri veya belirli bir JSTL sürümünü kullanmak istemiyorsanız). Standart etiketler için, TLD dosyaları (örneğin, jsp.tld JSTL JAR'larında) ya zaten konteynerde mevcuttur ya da konteyner bunları bulmayı bilir, web.xml'de açıkça belirtmeye gerek kalmadan.
JSP'de standart etiketlerin kullanımı, taglib direktifi ile yapılır:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Bu direktif, JSP motoruna JSTL Core kütüphanesini c öneki ile kullanmasını söyler. uri özniteliği, etiket kütüphanesi için benzersiz bir tanımlayıcıya işaret eder ve konteyner zaten bunu bilir.