Sobes.tech
Middle

Ako sa konfiguruje JSP v descriptoru nasadenia?

sobes.tech AI

Odpoveď od AI

Konfigurácia JSP v deklarácii nasadenia web.xml sa vykonáva pomocou prvkov <servlet> a <servlet-mapping>. Súbor JSP je spracovávaný ako špeciálny typ servletu.

  1. Ohlásenie JSP ako servletu:

    Prvok <servlet> sa používa na ohlásenie zdroja (<servlet-class> odkazuje na implementáciu servletu, ale pre JSP je zabezpečené kontajnerom) a priradenie logického mena (<servlet-name>). V prípade JSP sa názov triedy servletu neuvádza, namiesto toho sa používa prvok <jsp-file>.

    <!--
     * Ohlásenie JSP súboru ako servletu
    -->
    <servlet>
        <servlet-name>myJspPage</servlet-name>
        <jsp-file>/myJsp.jsp</jsp-file> <!-- Cesta k JSP súboru vzhľadom na koreň webovej aplikácie -->
        <!--
         * Voliteľné inicializačné parametre pre JSP stránku
        -->
        <init-param>
            <param-name>paramName</param-name>
            <param-value>paramValue</param-value>
        </init-param>
    </servlet>
    
  2. Priradenie URL vzoru k JSP servletu:

    Prvok <servlet-mapping> spája logické meno <servlet-name> s URL vzorom <url-pattern>, prostredníctvom ktorého bude tento servlet (a príslušne, JSP) dostupný.

    <!--
     * Priradenie URL vzoru k deklarovanému JSP servletu
    -->
    <servlet-mapping>
        <servlet-name>myJspPage</servlet-name>
        <url-pattern>/mypage</url-pattern> <!-- URL, cez ktorú bude dostupný JSP -->
    </servlet-mapping>
    
  3. Iná konfigurácia:

    Je tiež možné nakonfigurovať ďalšie aspekty, ako napríklad:

    • <load-on-startup>: Určuje poradie načítania JSP (čím menšia hodnota, tým skôr sa načíta).
    • <security-constraint>: Uplatnenie bezpečnostných obmedzení.
    • <error-page>: Definovanie stránok pre chyby.

Príklad úplnej konfigurácie:

<!--
 * Deklarácia pre nasadenie webovej aplikácie
-->
<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">

    <!--
     * Definícia JSP súboru ako servletu "myJspPage"
    -->
    <servlet>
        <servlet-name>myJspPage</servlet-name> <!-- Logické meno servletu -->
        <jsp-file>/myJsp.jsp</jsp-file> <!-- Cesta k JSP súboru -->
        <load-on-startup>1</load-on-startup> <!-- Načítať pri štarte aplikácie -->
    </servlet>

    <!--
     * Priradenie URL vzoru "/mypage" k servletu "myJspPage"
    -->
    <servlet-mapping>
        <servlet-name>myJspPage</servlet-name>
        <url-pattern>/mypage</url-pattern> <!-- Dostupný URL -->
    </servlet-mapping>

    <!--
     * Príklad iného priradenia pre iný 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>

Týmto spôsobom web.xml umožňuje riadiť, ako sa JSP súbory premieňajú na servlet-y a aké URL ich aktivujú, ako aj nastavovať ich správanie pri inicializácii a načítaní.