Sobes.tech
Middle

Тартиби конфигуратсияи JSP дар дескриптори таҳия чӣ гуна аст?

sobes.tech AI

Ҷавоб аз AI

Конфигуратсияи JSP дар декларасияи паҳнкунӣ web.xml бо ёрии элементҳои <servlet> ва <servlet-mapping> амалӣ мешавад. Файлҳои JSP ҳамчун намудҳои махсуси сервлет коркард мешаванд.

  1. Эълон кардани JSP ҳамчун сервлет:

    Элемент <servlet> барои эълон кардани манбаъ (<servlet-class> ба иҷрои сервлет ишора мекунад, аммо барои JSP онро контейнер таъмин мекунад) ва таъин кардани номи логикӣ (<servlet-name>) истифода мешавад. Дар ҳолати JSP, номи класи сервлет нишон дода намешавад, балки элемент <jsp-file> истифода мешавад.

    <!--
     * Эълон кардани файл JSP ҳамчун сервлет
    -->
    <servlet>
        <servlet-name>myJspPage</servlet-name>
        <jsp-file>/myJsp.jsp</jsp-file> <!-- Роҳи файл дар нисбати решаи барнома -->
        <!--
         * Параметрҳои иловагии оғозёбӣ барои саҳифаи JSP
        -->
        <init-param>
            <param-name>paramName</param-name>
            <param-value>paramValue</param-value>
        </init-param>
    </servlet>
    
  2. Масоити URL-ро бо сервлети JSP мувофиқат кардан:

    Элемент <servlet-mapping> номи логикии <servlet-name>-ро бо намунаи URL <url-pattern> пайваст мекунад, ки тавассути он сервлет (ва дар натиҷа, JSP) дастрас мешавад.

    <!--
     * Масоити URL-ро бо сервлети эълоншудаи JSP мувофиқат кардан
    -->
    <servlet-mapping>
        <servlet-name>myJspPage</servlet-name>
        <url-pattern>/mypage</url-pattern> <!-- URL, ки тавассути он JSP дастрас мешавад -->
    </servlet-mapping>
    
  3. Конфигуратсияи дигар:

    Мумкин аст, ки дигар ҷиҳатҳоро низ танзим кард, масалан:

    • <load-on-startup>: Тартиби боркунии JSP (чӣ камтар арзиш, ҳамон зудтар бор мешавад).
    • <security-constraint>: Мақсадҳои бехатарӣ.
    • <error-page>: Саҳифаҳои хато.

Намунаи конфигуратсияи пурра:

<!--
 * Тавсифи барои паҳнкунӣ
-->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!--
     * Тавсифи файли JSP ҳамчун сервлет "myJspPage"
    -->
    <servlet>
        <servlet-name>myJspPage</servlet-name> <!-- Номи логикӣ -->
        <jsp-file>/myJsp.jsp</jsp-file> <!-- Роҳи файл -->
        <load-on-startup>1</load-on-startup> <!-- Бор кардан дар оғоз -->
    </servlet>

    <!--
     * Масоити URL-ро бо сервлети "myJspPage" мувофиқат кардан
    -->
    <servlet-mapping>
        <servlet-name>myJspPage</servlet-name>
        <url-pattern>/mypage</url-pattern> <!-- URL дастрасӣ -->
    </servlet-mapping>

    <!--
     * Мисоли дигар барои дигар JSP
    -->
    <servlet-mapping>
        <servlet-name>anotherJsp</servlet-name>
        <url-pattern>/another</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>anotherJsp</servlet-name>
        <jsp-file>/anotherPage.jsp</jsp-file>
    </servlet>

</web-app>

Инчунин, web.xml имкон медиҳад, ки чӣ гуна файлҳои JSP ба сервлетҳо табдил дода мешаванд ва кадом URL-ҳо онҳоро фаъол мекунанд, инчунин рафторро дар вақти оғозёбӣ ва боркунӣ танзим мекунад.