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 :

Filtre et servlet


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Par défaut Filtre et servlet
    Bonjour tout le monde,

    Dans un projet WEB (JSP et Servlet), Je veux appliquer un filtre sur les requêtes clientes, un filtre qui ne fait qu'afficher un message "Bonjour tout le monde, je suis un filtre !!".

    Voici le classe Filtre que j'ai créée :

    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
     
    public class myFilter implements Filter {
     
        public void init(FilterConfig arg0) throws ServletException {
            throw new UnsupportedOperationException("Not supported yet.");
        }
     
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain arg2) throws IOException, ServletException {
            response.getWriter().println("Bonjout tout le monde !! c'est juste le filtre !!");
        }
     
        public void destroy() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
     
    }
    Et voici la configuration XML de mon application :
    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
     
     <web-app ...>
        <filter>
            <filter-name>myFilter</filter-name>
            <filter-class>myFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>myFilter</filter-name>
            <servlet-name>myServlet</servlet-name>
        </filter-mapping>
        <listener>
            <listener-class>RequestListener</listener-class>
        </listener>
        <servlet>
            <servlet-name>myServlet</servlet-name>
            <servlet-class>myServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>myServlet</servlet-name>
            <url-pattern>/myServlet</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            </welcome-file-list>   
        </web-app>
    Mon application ne veux pas compiler et ça me donne une exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ECHEC - L'application pour le chemin de contexte /test n'a pas puêtredémarrée
    Deployment error:
    The module has not been deployed.
    See the server log for details.
            at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:163)
    ...
    ...
    Ce problème est du à mes balise <filter> et <filter-mapping>, parce qu'une fois je les enlève, l'application marche très très bien.

    Merci pour toutes vos aides.

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Dans la balise filter-mapping, tu as mis une balise servlet-name au lieu d'une balise url-pattern :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	<filter-mapping>
    		<filter-name>myFilter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>

  3. #3
    Membre averti
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Par défaut
    Salut,

    Merci pour votre réponse, par contre la balise <servlet-name> marche aussi, pour mettre un filtre juste sur cette servlet, sinon si on compte faire le filtre sur toutes les entrées du site, je suis d'accord on doit mettre la balise <url-pattern>.

    Je tiens juste à préciser que j'ai essayé la balise <url-pattern> et ça pose le même problème.

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut
    salut,j'ai exactement le même problème,est ce que tu as trouvé la solution?
    voici mon code:

    <
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    filter>       
       <filter-name>Filter1</filter-name>       
       <filter-class>Filter1</filter-class>   
        </filter>
         <filter-mapping>       
         <filter-name>Filtre1</filter-name>  
         <url-pattern>/*</url-pattern>  
         </filter-mapping>

  5. #5
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut
    Lever une exception dans la méthode init() me semble assez étrange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void init(FilterConfig arg0) throws ServletException {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    La doc sur la méthode init() dit :
    Called by the web container to indicate to a filter that it is being placed into service. The servlet container calls the init method exactly once after instantiating the filter. The init method must complete successfully before the filter is asked to do any filtering work.

Discussions similaires

  1. Test d'un filtre de servlet
    Par hel22 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 09/02/2007, 15h35
  2. Filtre de servlet
    Par ybonanni dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/12/2006, 09h38
  3. [Filtre de Servlet]Gerer les authorisations d'accès
    Par K-Kaï dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/07/2006, 09h34
  4. [Filtre de Servlet] Accès à un dossier
    Par K-Kaï dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 04/07/2006, 15h37
  5. [servlet][filtre] filtre qui n'est pas appelé
    Par felix79 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 29/06/2005, 20h09

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