IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Appliquer un filtre a une page JSP précise


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Par défaut Appliquer un filtre a une page JSP précise
    Bonjour ,

    J'ai une question a propos des filters en JEE , en fait je veux exécuter mon filter qui affiche la liste des clients même si la session des clients est null , mais cela juste dans une seule page situé dans le WEB-INF de l'application et pas dans toute l'application (<url-pattern>/*</url-pattern>) , j'ai testé dans le web.xml plusieurs url , dans le <url-pattern> , la page s'affiche mais le filter ne s’exécute pas sur la page .

    Voila mon 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
    20
    21
    22
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>SiteWeb</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
     
      <filter>
      <filter-name>MapFilter</filter-name>
      <filter-class>com.tomo.filter.MapFilter</filter-class>
      </filter>
      <filter-mapping>
      <filter-name>MapFilter</filter-name>
      <url-pattern>/list_tomodachi.jsp</url-pattern>
      </filter-mapping>
     
    </web-app>
    Voila mon filter MapFilter :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    package com.tomo.filter;
     
    public class MapFilter implements Filter {
     
        private static final String sessionTomodachi  = "TomodachiSession";
     
        private TomodachiDAO        tomodachiDAO;
     
        public static final String  InisialDaoFactory = "daoFactory";
     
     
        public MapFilter() {
            // TODO Auto-generated constructor stub
        }
     
     
          public void doFilter( ServletRequest req, ServletResponse res, FilterChain chain ) throws IOException,
                ServletException {
     
            HttpServletRequest request = (HttpServletRequest) req;
     
            HttpSession session = request.getSession();
     
            if ( session.getAttribute( sessionTomodachi ) == null ) {
     
                ArrayList<Tomodachi> listeTomo = tomodachiDAO.listTomodachi();
     
                Map<Long, Tomodachi> mapTomo = new HashMap<Long, Tomodachi>();
     
                for ( Tomodachi tomodachi : listeTomo ) {
                    mapTomo.put( tomodachi.getId_tomodachi(), tomodachi );
                }
     
                session.setAttribute( sessionTomodachi, mapTomo );
     
            }
     
            chain.doFilter( request, res );
        }}
    Et voila arborescence de mon application :
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    Bonjour,

    le plus naturellement dans ton cas est d'utiliser une Servlet et pas un filtre. un filtre pour une seule JSP est possible mais me semble un peu loin du but des Filtres. donc je te propose de faire une Servlet et puis redirigé vers la JSP. Sinon c'est la liste des clients n'est pas lié à un user vaut mieux le faire pour toute l'appli dans l'init de la servlet par exemple.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Par défaut
    Citation Envoyé par chortani Voir le message
    Bonjour,

    le plus naturellement dans ton cas est d'utiliser une Servlet et pas un filtre. un filtre pour une seule JSP est possible mais me semble un peu loin du but des Filtres. donc je te propose de faire une Servlet et puis redirigé vers la JSP. Sinon c'est la liste des clients n'est pas lié à un user vaut mieux le faire pour toute l'appli dans l'init de la servlet par exemple.
    Vous avez raison sur ce propos , mais mon but a vrai dire c'est pour m’entraîner plus et découvrir plus les filtres car je viens de débuter en langage JEE , c'est pour ça que je veux s'avoir comment procéder avec une seule page ..

    Citation Envoyé par OButterlin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <url-pattern>/WEB-INF/list_tomodachi.jsp</url-pattern>
    Non ça ne marche pas , le filtre ne s’exécute toujours pas sur la page list_tomodachi.jsp :/

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Par défaut
    Up

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Bon j'ai pris le temps de faire un test...

    Si tu mets une URL comme "http://localhost:8080/uneAppli/WEB-INF/maPage.jsp", le filtre est bien appelé mais bien sûr, la page n'est pas trouvée après (on ne peut pas appeler directement un contenu dans WEB-INF).

    Si dans une page jsp, tu as du code ressemblant à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getRequestDispatcher("/WEB-INF/maPage.jsp").forward(request, response);
    elle sera bien appelée mais là, tu es derrière le(les) filtre(s) et il(s) n'est(ne sont) pas appelé(s).

    Pourquoi avoir mis ces pages dans WEB-INF, tu veux les protéger ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Par défaut
    Oui tout a fait , on as toujours appris a les mettre dans des WEB-INF ..

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je dirais, mais je n'ai pas testé...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <url-pattern>/WEB-INF/list_tomodachi.jsp</url-pattern>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [XML][XSL][Mozilla Firefox] Integraton dans une page JSP
    Par BANATACH dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 05/08/2004, 14h46
  2. [Debutant(e)]Appel d'une servlet dans une page jsp
    Par kouadjalain dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/07/2004, 15h02
  3. [EJB+JSP+Tomcat] Appel d'une page JSP à partir d'un bean
    Par Hakkou dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 02/06/2004, 15h26
  4. [Débutant][Application web] : context d'une page JSP
    Par silver_dragoon dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/02/2004, 11h53
  5. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo