Sobes.tech
Junior

Неге web.xml файлына стандарттык JSP тегтерин конфигурациялоо керек эмес?

sobes.tech AI

AIден жооп

Стандарттык JSP тегдер, мисалы <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> жана башка, JSP спецификациясынын жана JavaServer Pages Standard Tag Library (JSTL) нун бир бөлүгү болуп саналат. Бул тег китепканалар, JSP спецификациясын колдогон сервлет контейнеринде (мисалы, Tomcat, Jetty жана башка) дайыма бар.

web.xml (жүктөө сүрөттөмөсү web-app) конфигурациясы көбүнчө төмөнкүлөр үчүн зарыл:

  1. сервлеттер жана алардын URL карталарынын жарыясы.
  2. фильтрлер жана алардын карталары.
  3. иш-чаралар угучуларынын конфигурациясы.
  4. колдонмо контекст параметрлерин аныктоо.
  5. өзгөчө тег китепканаларын конфигурациялоо (стандарт JSTLге кирбегендер), TLD файлынын жайгашкан жерин көрсөтүү менен.
  6. сессиялар, каталар баракчалары, куттуктоо баракчалары жана башка.

Стандарттык JSP тегдери жана JSTL китепканалары (core, fmt, sql, xml) алдын ала "билген" жана контейнердин JSP кыймылдаткычы тарабынан иштетилет. Алардын иштетүүчүлөрү JSP ишке ашырылышына киргизилген. Ошондуктан, аларды web.xmlде ачык жарыялоо же кошумча JAR файлдарын жүктөө зарыл эмес (эски версияларында же белгилүү бир JSTL версиясын колдонгонуңуз келсе, ал встроенден айырмаланат). Стандарттык тегдердин TLD файлдары (мисалы, jsp.tld JSTL JARларында) же алгачкы контейнерде бар, же контейнер аларды кантип табарын билет, web.xmlде ачык көрсөтүүнүн кереги жок.

Стандарттык тегдерди JSPде колдонуу taglib директивасы аркылуу жүргүзүлөт:

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

Бул директива JSP кыймылдаткычка JSTL Core китепканасын c префикси менен колдонууга буйрук берет. uri атрибуту тег китепканасы үчүн уникалдуу идентификаторго көрсөтөт, ал контейнер аны алдын ала билет.