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.