Bonsoir à tous,

J'ai un problème avec une servlet que je contacte via l'url suivante : http://localhost:12150/filRouge6/client ça m'affiche bien un formulaire me permettant de saisir des info concernant un client mais dès que j'ajoute un filtre à mon projet je reçois l'erreur 404!

Voici le code du filtre :

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
52
53
54
55
56
57
58
59
package filtre;
 
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
import DAO.Client;
import DAO.ClientDao;
import DAO.DAOFactory;
 
 
/**
 * Servlet Filter implementation class RestrictionFilter
 */
@WebFilter("/RestrictionFilter")
public class MonFiltre implements Filter {
			public static final String sessionUSER = "sessionUtilisateur";
			private static final String configDaoFactory = "dao";
			private static final String sessionCLIENTS = "clients";
			private ClientDao daoClient;
			public void init( FilterConfig config ) throws ServletException
			{
				this.daoClient = ((DAOFactory) config.getServletContext().getAttribute(configDaoFactory)).getClientDao();
		    }
 
			public void doFilter( ServletRequest req, ServletResponse res,
			FilterChain chain ) throws IOException,
			ServletException {
			        HttpServletRequest request = (HttpServletRequest) req;
			        @SuppressWarnings("unused")
					HttpServletResponse response = (HttpServletResponse) res;
			        HttpSession session = request.getSession();
			        if(session.getAttribute(sessionUSER)== null){
			        	List<Client> listeClients = daoClient.listerClient();
			        	Map<Long,Client> mapClient = new HashMap<Long,Client>();
 
			        	for(Client clien : listeClients){
				        		mapClient.put(clien.getId(), clien);
				        	}
			        		session.setAttribute(sessionCLIENTS, mapClient);
			        	}
			        chain.doFilter(request,res);
			        }
 
			public void destroy() {
			}
	}
Voici le code de la servlet :

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package fil6Servlet;
 
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
 
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
import DAO.Client;
import DAO.ClientDao;
import DAO.DAOFactory;
import ObjetMetier.ObjetClient;
import ObjetMetier.ValidationChamp;
 
/**
 * Servlet implementation class ClientServlet
 */
@WebServlet("/ClientServlet")
public class ClientServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	public static final String confFACTORY = "daofactory";
	public static final String CHEMIN           = "chemin";
	public static final String CLIENT       = "client";
	public static final String Formulaire         = "form";
	public static final String sessionCLIENTS  = "clients";
	public static final String Vue       = "/WEB-INF/afficherClient.jsp";
	public static final String chemin         = "/WEB-INF/creerClient.jsp";
	private ClientDao daoClien;
 
	public void init() throws ServletException {
	    this.daoClien = ( (DAOFactory) getServletContext().getAttribute(confFACTORY)).getClientDao();
	}
 
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.getServletContext().getRequestDispatcher(chemin).forward(request, response);	}
 
	/**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
		ObjetClient clientMetier = new ObjetClient(daoClien);
 
       Client client;
	try {
		client = clientMetier.clientInfo(request);
 
 
       request.setAttribute( CLIENT, client );
       request.setAttribute( Formulaire, clientMetier );
 
       if ( clientMetier.getErreurs().isEmpty() ) {
 
       HttpSession session = request.getSession();
       Map<Long, Client> clients = (HashMap<Long, Client>) session.getAttribute( sessionCLIENTS );
 
       if ( clients == null ) {
       clients = new HashMap<Long, Client>();}
 
       clients.put( client.getId(), client );
       session.setAttribute( sessionCLIENTS, clients );
 
       this.getServletContext().getRequestDispatcher(
    		   Vue ).forward( request, response );
       } else {
 
       this.getServletContext().getRequestDispatcher( chemin
       ).forward( request, response );
       }
	} catch (ValidationChamp e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
 
}
	}
 
}

Voici le code de Web.xml :

Code xml : 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
<?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" 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">
 
    <filter>
    <filter-name>CreationFilter</filter-name>
    <filter-class>filtre.MonFiltre</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>CreationFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
 
  <listener>
    <listener-class>ConfigDAO.InitialisationDAOFactory</listener-class>
  </listener>
 
  <servlet>
    <servlet-name>CreationClient</servlet-name>
    <servlet-class>fil6Servlet.ClientServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CreationClient</servlet-name>
    <url-pattern>/client</url-pattern>
  </servlet-mapping>
 
 
  <jsp-config>
    <jsp-property-group>
      <url-pattern>*.jsp</url-pattern>
      <include-prelude>/WEB-INF/inclusionJSTL.jsp</include-prelude>
    </jsp-property-group>
  </jsp-config>
</web-app>

Voici la page jsp de la liste des clients :

Code jsp : 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
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:choose>
<p>
<c:when test = "${empty sessionScope.clients}">
<c:out value = "Aucun client enregistré/"/>
</c:when>
</p>
<c:otherwise>
<table>
 
<tr>
<td>Nom</td>
<td>Prenom</td>
<td>Adresse</td>
<td>Téléphone</td>
<td>Email</td>
</tr>
 
<tr>
<c:forEach items = "${sessionScope.clients}" var = "mapclient">
<td><c:out value = "${mapclient.value.nom}"/></td>
<td><c:out value = "${mapclient.value.prenom}"/></td>
<td><c:out value = "${mapclient.value.adresse}"/></td>
<td><c:out value = "${mapclient.value.telephone}"/></td>
<td><c:out value = "${mapclient.value.email}"/></td>
</c:forEach>
</tr>
 
</table>
</c:otherwise>
</c:choose>
</body>
</html>

J'ai besoin de votre aide s'il vous plait.Merci d'avance!!!