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][Websphere5] implementation filter sous java


Sujet :

Servlets/JSP Java

  1. #1
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut [Filtre][Websphere5] implementation filter sous java
    Bonjour

    Voici ma config : JDK 1.3
    websphere 5
    Solaris



    j'ai essayé de developper un filtre sur une servlet mais j'ai l'impression que mon filtre ne fonctionne pas.
    En effet j'ai mis des traces dans la méthode doFilter et je n'ai aucune des traces qui apparait.

    voici un extrait de mon code et de mon fichier web.xml

    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
     
    <web-app id="mon_ID">
        <filter>
        	<filter-name>LoggerFilter</filter-name>
        	<filter-class>com.cgey.sfr.socle.tools.LoggerFilter</filter-class>
        </filter>
        <filter-mapping>
        	<filter-name>LoggerFilter</filter-name>
           <url-pattern>/Accueil</url-pattern>
    </filter-mapping>
     
    ...
     
      <servlet id="Servlet_2">
        <servlet-name>Accueil</servlet-name>
    <servlet-class>monpackage.AccueilServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
    ...


    et ma classe JAVA

    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
     
     
    public class LoggerFilter implements Filter {
     
    	public void destroy() {
     
    	}
     
     
    	public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
    		System.out.println("************************    entree doFilter");
     
     
    		System.out.println("************************    sortie doFilter");
    	}
     
    	public void init(FilterConfig conf) throws ServletException {
     
    		System.out.println("************************    init Filter : "+conf.getFilterName());
    	}
    si quelqu'un a déjà eu ce probleme je suis preneur
    Est ce que ça vient du code ?
    du web.xml ?
    est ce que il y a une config websphere particuliere ?



    merci d'avance et bonne journée

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Comme configuré, ton filter sera utilisé si un utilisateur tappe dans son url

    http://server/webapp/Accueil

    mais pas si il tappe une des urls suivantes:

    http://server/webapp/Accueil/
    http://server/webapp/Accueil/Quelquechose

    Tu devrais probablement mapper ton filtre soit comme çà (pour se baser uniquement sur une partie de l'url)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <filter-mapping>
        	<filter-name>LoggerFilter</filter-name>
           <url-pattern>/Accueil*</url-pattern>
    </filter-mapping>
    Soit comme çà: (pour n'utiliser que le nom servlet, indépendament de l'url sur laquelle il est mappé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <filter-mapping>
        	<filter-name>LoggerFilter</filter-name>
           <servlet-hame>Accueil</servlet-name>
    </filter-mapping>
    Au fait, n'oublie pas l'appel à filterChain dans ton fitlter, sinon quand tu rentrera dans ton filter, il n'y ara pas de forward vers le servlet :p

  3. #3
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Tout d'abord merci de t'être pencher sur mon probleme

    1) Concernant l'url appelée elle a pour forme :


    http://server/webapp/Accueil?param=toto

    Je ne peux pas tester ce week-end mais je testerai si en appelant uniquement :

    http://server/webapp/Accueil

    mon filtre sera pris en compte
    et le cas echéant j'essaierais le mapping

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       <filter-mapping>
        	<filter-name>LoggerFilter</filter-name>
           <url-pattern>/Accueil*</url-pattern>
    </filter-mapping>
    2) sinon j'ai bien mis dans mon code l'appel à filterChain .Je voulais juste mettre en evidence les traces ;-)

    3) par contre j'avais déjà essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <filter-mapping>
        	<filter-name>LoggerFilter</filter-name>
           <servlet-hame>Accueil</servlet-name>
    </filter-mapping>
    et pourtant je ne passe pas par mon filtre ;-(

    je te tiens au courant

    bon week-end

  4. #4
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour

    j'ai testé le code que tu m'as proposé mais je n'ai toujours pas de resultat : je ne passe pas dans le filtre

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Hello !

    Tu es en quelle version de servlet ? Les filtres ont été introdut à partir de l'API Servlet 2.3.

    Je ne connais pas Websphere, je dis ça parce que je vois que tu es en Java 1.3, c'est pas tout jeune tout ça...

    Exemple d'en-tête web.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <web-app id="myapp" version="2.4"
             xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    ...
    </web-app>

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Je viens de vérifier, websphere 5 est bien sur la specs J2EE 1.3, qui contient les servlets. Par contre, vérifie que ton web.xml correspond bien à la specs J2EE 1.3 et pas à une version précédente.

    Plus particulièrement, vérifie que ton web.xml commence bien par ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      <!DOCTYPE web-app PUBLIC
    	"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    	"http://java.sun.com/dtd/web-app_2_3.dtd">

  7. #7
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonsoir

    J'ai bien la déclaration indiquée ...

    j'ai beau retourner le probleme je ne trouve pas
    je me demande si c'est pas une histoire de config de websphere

Discussions similaires

  1. choix: implementation oracle sous unix ou windows ?
    Par marcalexis dans le forum Oracle
    Réponses: 25
    Dernier message: 23/09/2005, 15h18
  2. alternatives aux propriétés filter sous mozilla
    Par rol666 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/08/2005, 19h23
  3. [Date]Date sous Java != celle sous Access
    Par Cyborg289 dans le forum JDBC
    Réponses: 4
    Dernier message: 27/07/2005, 23h11
  4. [Système][Class-Path]cherche aide sous java pour fedoracore ou linux
    Par mickey hollywood dans le forum Général Java
    Réponses: 4
    Dernier message: 29/03/2005, 01h13

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