Sobes.tech
Junior

რატომ არ არის საჭირო სტანდარტული JSP-ტეგების კონფიგურაცია web.xml ფაილში?

sobes.tech AI

პასუხი AI-სგან

სტანდარტული JSP-ტეგები, როგორიცაა <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> და სხვა, წარმოადგენს JSP-ის სპეციფიკაციისა და JavaServer Pages Standard Tag Library (JSTL)-ის ნაწილია. ამ ტეგების ბიბლიოთეკები ყოველთვის ხელმისაწვდომია სერვლეტების კონტეინერში (როგორიცაა Tomcat, Jetty და ა.შ.), რომელიც მხარს უჭერს JSP-ს სპეციფიკაციას.

web.xml-ში (დასაწყისის დესკრიპტორის web-app) კონფიგურაცია ჩვეულებრივ საჭიროა:

  1. სერვლეტების და მათი URL მეპინგინგის გამოცხადება.
  2. ფილტრების და მათი მეპინგინგის გამოცხადება.
  3. მოვლენის მოსმენის გამგზავრების კონფიგურაცია.
  4. აპლიკაციის კონტექსტის პარამეტრების განსაზღვრა.
  5. მომხმარებლის ბიბლიოთეკის ტეგების კონფიგურაცია (რომელიც არ შედის სტანდარტული JSTL-ის შემადგენლობაში), მითითებით TLD-ფაილის მდებარეობა (Tag Library Descriptor).
  6. სესიის, შეცდომის გვერდების, მისასალმებელი გვერდების და ა.შ. კონფიგურაცია.

სტანდარტული JSP-ტეგები და JSTL ბიბლიოთეკები (core, fmt, sql, xml) უკვე "ცნობილია" და იწარმოება თავად JSP-დრაივერის მიერ. მათი დამუშავება ინტეგრირებულია JSP-ის რეალიზაციაში. ამიტომ, არ არის საჭირო მათ ცალსახად გამოაცხადოთ web.xml-ში ან ჩამოტვირთოთ დამატებითი JAR-ფაილები (განსაკუთრებით ძველი ვერსიების კონტეინერებისთვის ან თუ გსურთ გამოიყენოთ კონკრეტული ვერსია JSTL-ის, რომელიც განსხვავდება ინტეგრირებულიდან). სტანდარტული ტეგებისთვის მათი TLD-ფაილები (მაგალითად, jsp.tld JAR-ფაილებში JSTL-ის) ან უკვე არის კონტეინერში, ან კონტეინერი იცის, როგორ იპოვოს ისინი უშუალოდ web.xml-ის მითითების გარეშე.

სტანდარტული ტეგების გამოყენება JSP-ში ხდება taglib დირექტივის საშუალებით:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

ეს დირექტივა იძლევა მითითებას JSP-ენჯინს, რომ გამოიყენოს JSTL Core ბიბლიოთეკა c პრეფიქსით. uri ატრიბუტი მიუთითებს უნიკალურ იდენტიფიკატორს ტეგების ბიბლიოთეკისთვის, რომელიც კონტეინერი უკვე იცის.