Sobes.tech
Middle

Hogyan történik a JSP konfigurálása a telepítési leíróban?

sobes.tech MI

Válasz az MI-től

A JSP konfigurálása a web.xml telepítési leíróban az <servlet> és <servlet-mapping> elemek segítségével történik. A JSP-fájlokat speciális servlet típusként kezelik.

  1. JSP deklarálása servletként:

    A <servlet> elem használata a forrás ( <servlet-class> a servlet implementációjára utal, de JSP esetén a konténer biztosítja) deklarálására és egy logikus név hozzárendelésére (<servlet-name>). JSP esetén a servlet osztály neve nem kerül megadásra, helyette a <jsp-file> elemet használjuk.

    <!--
     * JSP fájl deklarálása servletként
    -->
    <servlet>
        <servlet-name>myJspPage</servlet-name>
        <jsp-file>/myJsp.jsp</jsp-file> <!-- Az útvonal a webalkalmazás gyökérhez képest -->
        <!--
         * Opcionális inicializációs paraméterek JSP oldalhoz
        -->
        <init-param>
            <param-name>paramName</param-name>
            <param-value>paramValue</param-value>
        </init-param>
    </servlet>
    
  2. URL-minta hozzárendelése a JSP servlethez:

    Az <servlet-mapping> összekapcsolja a logikus név (<servlet-name>) és a URL-minta (<url-pattern>), amelyen keresztül a servlet (és így a JSP) elérhető lesz.

    <!--
     * URL-minta hozzárendelése a deklarált JSP servlethez
    -->
    <servlet-mapping>
        <servlet-name>myJspPage</servlet-name>
        <url-pattern>/mypage</url-pattern> <!-- Az URL, amin keresztül elérhető a JSP -->
    </servlet-mapping>
    
  3. Egyéb konfiguráció:

    További beállítások is megadhatók, például:

    • <load-on-startup>: Meghatározza a betöltési sorrendet (minél kisebb az érték, annál korábban töltődik be).
    • <security-constraint>: Biztonsági korlátozások alkalmazása.
    • <error-page>: Hibakezelő oldalak beállítása.

Teljes konfigurációs példa:

<!--
 * A webalkalmazás telepítési leírója
-->
<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 fájl deklarálása servletként "myJspPage" néven
    -->
    <servlet>
        <servlet-name>myJspPage</servlet-name> <!-- Logikus név -->
        <jsp-file>/myJsp.jsp</jsp-file> <!-- Az útvonal a JSP-hez -->
        <load-on-startup>1</load-on-startup> <!-- Betöltés induláskor -->
    </servlet>

    <!--
     * URL-minta hozzárendelése a "myJspPage" servlethez
    -->
    <servlet-mapping>
        <servlet-name>myJspPage</servlet-name>
        <url-pattern>/mypage</url-pattern> <!-- Elérhető URL -->
    </servlet-mapping>

    <!--
     * Egy másik JSP-hez tartozó példa hozzárendelés
    -->
    <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>

Így a web.xml lehetővé teszi, hogy szabályozzuk, hogyan alakulnak át a JSP-fájlok servletekké, mely URL-ek hívják meg őket, valamint konfigurálhatjuk azok viselkedését az inicializálás és betöltés során.