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

Struts 1 Java Discussion :

Problème de filtrage.


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Problème de filtrage.
    Bonjour,

    J'ai essayé de faire un filtrage sur certains repertoire et bien que sa fonctionnais au début , sa c'est mis à ne plus fonctionné du tout dès que j'ai effacer la persistance .

    Voici l'erreur.
    OracleJSP :oracle.jsp.parse.JspParseException: Ligne n° /WEB-INF/web.xml:, 11
    Erreur : oracle.xml.parser.v2.XMLParseException ( /WEB-INF/web.xml ):
    Ligne n° :11 Colonne n° : 10 : Elément 'filter' non valide dans le contenu de 'web-app' ; éléments attendus : '[description, distributable, context-param, servlet, servlet-mapping, session-config, mime-mapping, welcome-file-list, error-page, taglib, resource-ref, security-constraint, login-config, security-role, env-entry, ejb-ref]'.
    Ligne n° :11 Colonne n° : 10 : Utilisation de l'élément 'filter' qui n'est pas déclaré.
    Ligne n° :12 Colonne n° : 17 : Utilisation de l'élément 'filter-name' qui n'est pas déclaré.
    Ligne n° :13 Colonne n° : 18 : Utilisation de l'élément 'filter-class' qui n'est pas déclaré.
    Ligne n° :16 Colonne n° : 18 : Elément 'filter-mapping' non valide dans le contenu de 'web-app' ; éléments attendus : '[description, distributable, context-param, servlet, servlet-mapping, session-config, mime-mapping, welcome-file-list, error-page, taglib, resource-ref, security-constraint, login-config, security-role, env-entry, ejb-ref]'.
    Ligne n° :16 Colonne n° : 18 : Utilisation de l'élément 'filter-mapping' qui n'est pas déclaré.
    Ligne n° :17 Colonne n° : 17 : Utilisation de l'élément 'filter-name' qui n'est pas déclaré.
    Ligne n° :20 Colonne n° : 17 : Elément 'filter-mapping' non valide dans le contenu de 'web-app' ; éléments attendus : '[description, distributable, context-param, servlet, servlet-mapping, session-config, mime-mapping, welcome-file-list, error-page, taglib, resource-ref, security-constraint, login-config, security-role, env-entry, ejb-ref]'.
    Ligne n° :20 Colonne n° : 17 : Utilisation de l'élément 'filter-mapping' qui n'est pas déclaré.
    Ligne n° :21 Colonne n° : 14 : Utilisation de l'élément 'filter-name' qui n'est pas déclaré.
    Voici ce que j'ai mis dans web.xml qui se trouve dans WEB-INF\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
     
    <!-- Define the filters within the Web Application  NOTE : LIGNE 11-->
      <filter>
        <filter-name>ServletFilter</filter-name>
        <filter-class>ca.qc.site.ServletFilter</filter-class>
      </filter> 
     
      <filter-mapping>
        <filter-name>ServletFilter</filter-name>
    	<url-pattern>/DossierUn/*</url-pattern>
     </filter-mapping> 
     <filter-mapping>
    	<filter-name>ServletFilter</filter-name>
        <url-pattern>/DossierDeux/*</url-pattern>
     </filter-mapping>
    Et dans ma classe

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    package ca.qc.site;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
     
    /* 
     * Filtre les accès sous les répertoires mentionne dans web.xml 
     * requete que l'utilisateur soit authentifie pour afficher le contenu.
     * 
    */
     
    public final class ServletFilter implements Filter {
        private static final Log logger = LogFactory.getLog(ServletFilter.class);
        private FilterConfig filterConfig = null;
        private String appli = "" ;
     
        public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
           logger.error("Snifff");
            HttpServletRequest httpRequest = (HttpServletRequest)request;
            HttpSession session = null;
            try
            {
                session = httpRequest.getSession(false);
                logger.error("filter : "+session.getAttribute("utilisateur"));
                if(session.getAttribute("utilisateur")!= null)
                    chain.doFilter(request, response);
                else
                    throw new ServletException("Aucune session active ou l'utilisateur n'est pas authentifié");
            }
            catch (Exception e)
            {
                throw new ServletException(e);
            }
        }  
     
        /**
         * Lecture des paramètres d'exécution (dans web.xml)
         *  Ici uniquement la zone APPLICATION
         */
        public void init(FilterConfig filterConfig) throws ServletException {
    	this.filterConfig = filterConfig;
    	appli = filterConfig.getInitParameter("APPLICATION") ;
        }
     
        public void destroy() {
    	this.filterConfig = null;
        }
    }
    Comme vous voyez j'ai mis un logger pour voir si il se rendais au moins dans l'action et il ne se rend pas dans celle-ci...

    Es-ce quelqu'un aurait une petite idée de ce qui pourrais causer mon soucis ?

    En vous remerciant !

    Ajout : Techniquement le filtre fonctionne car avant que je réinitialise la persistance ( la cache ) de l'environnement , le filtre empêchais correctement l'accès a DossierUn et DossierDeux quand la personne n'était pas authentifié ( variable session Utilisateur vide !

    Ajout-2 : Si la .JSP de mon site ne contient que du texte exemple : Hello The World , sa n'afficheras pas cette erreur , par contre si je lui déclare une balise.

    <%@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
    C'est à ce moment qu'elle ne fonctionne plus .... ou du moins me donne cette erreure.

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Pour ceux qui pourrait un jour avoir cette erreur , il s'agit du DOCTYPE dans le web.xml , j'avais la 2.2 au lieu de la 2.3


    Que de tracas pour une chose si simple...



+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de filtrage sur un sous formulaire
    Par anthony_rexis dans le forum IHM
    Réponses: 7
    Dernier message: 13/11/2007, 15h55
  2. [XSLT 1.0]Yet another Problème de filtrage Dynamique
    Par pradator dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 15/05/2007, 09h24
  3. Probléme de filtrage dans une boucle
    Par Gad29 dans le forum Langage
    Réponses: 5
    Dernier message: 04/05/2007, 09h16
  4. [ETATS] Problème de filtrage de date
    Par Ithilien dans le forum IHM
    Réponses: 2
    Dernier message: 02/01/2007, 17h11
  5. Réponses: 5
    Dernier message: 15/08/2006, 16h51

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