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

Java EE Discussion :

Problème du filtre


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Par défaut Problème du filtre
    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!!!

  2. #2
    Membre chevronné
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Par défaut
    un log serait bien pour avoir une idée où fouiller

Discussions similaires

  1. Problème de filtre sur table
    Par omega dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/08/2006, 10h53
  2. Problème de filtre sur date avec ADOQuery
    Par lingli dans le forum Bases de données
    Réponses: 12
    Dernier message: 30/04/2006, 15h40
  3. Problème de filtre dans un formulaire acess
    Par cdbaloo dans le forum Access
    Réponses: 4
    Dernier message: 31/03/2006, 17h25
  4. Problème avec filtre d'un formulaire ?
    Par HookerSeven dans le forum Access
    Réponses: 3
    Dernier message: 25/02/2006, 01h59
  5. Problème de filtre sur un formulaire
    Par bernardmichel dans le forum IHM
    Réponses: 6
    Dernier message: 12/12/2005, 15h36

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