Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

L'utilité de placer les pages JSP dans le dossier WEB-INF


Sujet :

Servlets/JSP Java

  1. #1
    Membre actif
    L'utilité de placer les pages JSP dans le dossier WEB-INF
    Bonjour

    J'ai lu dans les tutos que les pages jsp devraient être placées dans le dossier WEB-INF pour forcer l'utilisateur à passer par les servlet pour pouvoir y accéder.

    J'aimerais donc savoir quel est l'avantage ou l'utilité de passer par une servlet pour accéder à une jsp.

    Dans ce cas si j'ai une page d'accueil index.jsp et /accueil comme nom de mapping dans le web.xml:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />si="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_3_1.xsd">
        <servlet>
            <servlet-name>Index</servlet-name>
            <servlet-class>servlets.Index</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>Index</servlet-name>
            <url-pattern>/accueil</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>WEB-INF/index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>


    Comment définir ma page d'accueil dans la balise <welcome-file-list> pour ne plus être obligé à chaque fois de saisir http://localhost:8080/accueil dans l'url pour lancer mon application.

    Merci

  2. #2
    Membre actif
    Ok ça marche, j'arrive à définir la mapping de ma servlet comme page d'accueil en la définissant juste dans la balise welcome-file-list:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    <welcome-file-list>
            <welcome-file>accueil</welcome-file>
        </welcome-file-list>


    Il reste maintenant à savoir quel est l'intérêt de passer par la servlet pour accèder aux pages jsp.

    Merci

  3. #3
    Expert confirmé
    L'intérêt est que les traitements se font généralement dans une servlet qui produisent tes données, la JSP n'étant là que pour afficher ces données.
    Si tu passes directement par tes JSPs, cela sous-entend que tu fais tout dedans et que ton code sera moins maintenable, moins testable...

  4. #4
    Expert éminent sénior
    Le but est de mettre les jsp qui on besoin d'un prétraitement par une servlet dans un endroit où le browser ne sait pas y accéder sans passer par la servlet, simplement. Si ta JSP peut vivre toute seule (genre une page d'accueil qui fait jusque quelques includes) ça n'a pas d'intérêt. Si elle affiche des données dont elle a besoin provenant sur request context et générées par la servlet, ça évite qu'un type la bookmarque et génère trois tonnes d'exceptions dans les logs à chaque fois qu'il tente de l'afficher
    David Delbecq Java developer chez HMS Industrial Networks AB. &#12288;&#12288;&#12288;LinkedIn | Google+

  5. #5
    Membre actif
    Ok merci j'ai compris.

###raw>template_hook.ano_emploi###