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

Développement Web en Java Discussion :

Null Pointer Exception


Sujet :

Développement Web en Java

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 115
    Points : 46
    Points
    46
    Par défaut
    J'ai rien fais, mais maintenant j'ai ça:

    connexion
    catalogue
    catalogue2
    nov. 02, 2012 6:10:30 PM org.apache.catalina.core.ApplicationDispatcher invoke
    SEVERE: "Servlet.service()" pour la servlet jsp a lancé une exception
    java.lang.NullPointerException
    at org.apache.jsp.WEB_002dINF.pages.catalogue_jsp._jspService(catalogue_jsp.java:104)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at controleur.controleur.doGet(controleur.java:118)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    nov. 02, 2012 6:10:30 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [form] in context with path [/ApplicLogin] threw exception [An exception occurred processing JSP page /WEB-INF/pages/catalogue.jsp at line 37

    34:
    35: <%
    36: HashSet<Article> maList = (HashSet<Article>) session.getAttribute("maList");
    37: if (maList.size() > 0) {
    38: %>
    39:
    40: <table border='1'><tr><th>Produit</th><th>Quantité</th><th colspan='3'>Options</th></tr>


    Stacktrace:] with root cause
    java.lang.NullPointerException
    at org.apache.jsp.WEB_002dINF.pages.catalogue_jsp._jspService(catalogue_jsp.java:104)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at controleur.controleur.doGet(controleur.java:118)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

  2. #22
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Regarde ton URL ne contient QUE "catalogue" :

    /ApplicLogin/ctrl?section=catalogue&cat=Ouvrir


    il faut que ton navigateur appelle cet URL :

    ApplicLogin/ctrl?section=catalogue,panier&cat=Ouvrir

    pour que ton contrôleur passe dans le second "IF", celui qui met "maList" en session.

    Sinon ce sera toujours NULL.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 115
    Points : 46
    Points
    46
    Par défaut
    Ah, oui, tu as raison, j'ai changé la chemain. Maintenant ça passe dans le if panier, mais j'ai toujours l'exception.

    http://localhost:8080/ApplicLogin/ct...ier&cat=Ouvrir



    INFO: Server startup in 5309 ms
    connexion
    /WEB-INF/pages/bienvenue.jsp / connexion
    catalogue
    catalogue2
    panier
    /WEB-INF/pages/panier.jsp / catalogue,panier
    nov. 02, 2012 6:54:32 PM org.apache.catalina.core.ApplicationDispatcher invoke
    SEVERE: "Servlet.service()" pour la servlet jsp a lancé une exception
    java.lang.NullPointerException
    at org.apache.jsp.WEB_002dINF.pages.panier_jsp._jspService(panier_jsp.java:84)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at controleur.controleur.doGet(controleur.java:121)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    nov. 02, 2012 6:54:32 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [form] in context with path [/ApplicLogin] threw exception [java.lang.NullPointerException] with root cause
    java.lang.NullPointerException
    at org.apache.jsp.WEB_002dINF.pages.panier_jsp._jspService(panier_jsp.java:84)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at controleur.controleur.doGet(controleur.java:121)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)




    Dans la navigateur:


    Etat HTTP 500 - java.lang.NullPointerException

    type Rapport d''exception

    message java.lang.NullPointerException

    description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.

    exception

    org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    controleur.controleur.doGet(controleur.java:121)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    cause mère

    java.lang.NullPointerException
    org.apache.jsp.WEB_002dINF.pages.panier_jsp._jspService(panier_jsp.java:84)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    controleur.controleur.doGet(controleur.java:121)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.32.
    Apache Tomcat/7.0.32

  4. #24
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    sauf que cette fois-ci l'erreur est dans la page "panier.jsp" comme l'indique ta stacktrace ...

    tu peux montrer le stacktrace complète, sinon on trouveras jamais ton erreur.
    il faut que tu soies bien conscient que tu ne pourras rediriger vers qu'une SEULE JSP ... donc ... ton algorithme va être à revoir, surtout celui qui détermine l'URL de la JSP à afficher.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 115
    Points : 46
    Points
    46
    Par défaut
    Je n'ai plus de panier.jsp. J'ai mis ensemble la catalogue.jsp et le panier.jsp, et maintenant j'ai seulment la catalogue.jsp

    Stacktrace complète:nov. 02, 2012 8:09:45 PM org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Dell\DW WLAN Card;C:\Users\khi\Downloads\eclipse-jee-juno-SR1-win32\eclipse;;.
    nov. 02, 2012 8:09:45 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Catalogue' did not find a matching property.
    nov. 02, 2012 8:09:45 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ApplicLogin' did not find a matching property.
    nov. 02, 2012 8:09:45 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Application_WEB' did not find a matching property.
    nov. 02, 2012 8:09:45 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    nov. 02, 2012 8:09:45 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
    nov. 02, 2012 8:09:45 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 465 ms
    nov. 02, 2012 8:09:45 PM org.apache.catalina.core.StandardService startInternal
    INFO: Démarrage du service Catalina
    nov. 02, 2012 8:09:45 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.32
    nov. 02, 2012 8:09:51 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-bio-8080"]
    nov. 02, 2012 8:09:51 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-bio-8009"]
    nov. 02, 2012 8:09:51 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 5473 ms
    connexion
    /WEB-INF/pages/bienvenue.jsp / connexion
    catalogue
    catalogue2
    panier
    /WEB-INF/pages/catalogue.jsp / catalogue,panier
    nov. 02, 2012 8:09:59 PM org.apache.catalina.core.ApplicationDispatcher invoke
    SEVERE: "Servlet.service()" pour la servlet jsp a lancé une exception
    java.lang.NullPointerException
    at org.apache.jsp.WEB_002dINF.pages.catalogue_jsp._jspService(catalogue_jsp.java:103)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at controleur.controleur.doGet(controleur.java:119)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    nov. 02, 2012 8:09:59 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [form] in context with path [/ApplicLogin] threw exception [An exception occurred processing JSP page /WEB-INF/pages/catalogue.jsp at line 36

    33:
    34: <%
    35: HashSet<Article> maList = (HashSet<Article>) session.getAttribute("maList");
    36: if (maList.size() > 0) {
    37: %>
    38:
    39: <table border='1'>


    Stacktrace:] with root cause
    java.lang.NullPointerException
    at org.apache.jsp.WEB_002dINF.pages.catalogue_jsp._jspService(catalogue_jsp.java:103)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at controleur.controleur.doGet(controleur.java:119)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)



    Controleur:

    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
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
     
    package controleur;
     
    import java.io.IOException;
    import java.util.ArrayList;
     
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import metier.MetierPanier;
     
    import beans.beanPanier;
     
    import pojo.Produit;
     
    /**
     * Servlet implementation class Controleur
     */
    @WebServlet("/controleur")
    public class controleur extends HttpServlet {
     
    	private Cookie getCookie(Cookie cookies[], String name) {
    		if (cookies != null) {
    			for (Cookie c : cookies) {
    				if (c.getName().equals(name)) {
    					return c;
    				}
    			}
    		}
     
    		return null;
    	}
     
    	/**
             * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
             *      response)
             */
    	protected void doGet(HttpServletRequest request,
    			HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
     
    		response.setContentType("text/html;charset=ISO-8859-1");
     
    		ServletContext application = this.getServletContext();
    		HttpSession session = request.getSession();
     
    		String url = "/index.jsp";
     
    		String section = request.getParameter("section");
    		if (section == null) {
    			url = "/WEB-INF/pages/erreur.jsp";
    		} else {
    			if (section.contains("catalogue")) {
    				System.out.println("catalogue");
    				MetierPanier mp = MetierPanier.getInstance();
    				request.setAttribute("catalogue", mp.selectAll());
    				System.out.println("catalogue2");
    				url = "/WEB-INF/pages/catalogue.jsp";
    			}
     
    			if (section.contains("panier")) {
    				System.out.println("panier");
    				if (session.getAttribute("panier") != null) {
    					beanPanier bp = new beanPanier();
    					session.setAttribute("panier", bp);
    					System.out.println("panier2");
    					session.setAttribute("maList", bp.getMaList());
    					url = "/WEB-INF/pages/catalogue.jsp";
    				}
    				url = "/WEB-INF/pages/catalogue.jsp";
    			}
     
    			if (section.contains("achat")) {
    				System.out.println("achat");
    				beanPanier bp = (beanPanier) session.getAttribute("panier");
    				MetierPanier mp = MetierPanier.getInstance();
    				String ajouter = request.getParameter("ajouter");
    				System.out.println("achat2");
    				if (ajouter != null) {
    					Produit prod = mp.selectProd(Integer.valueOf(ajouter));
    					mp.add(bp, prod);
    				}
    			}
     
    			if (section.contains("connexion")) {
    				if (request.getParameter("doIt") != null
    						&& request.getParameter("login").trim().isEmpty() != true
    						&& request.getParameter("mdp").trim().isEmpty() != true
    						&& request.getParameter("compagnie").trim().isEmpty() != true) {
    					System.out.println("connexion");
     
    					url = "/WEB-INF/pages/bienvenue.jsp";
    				}
     
    				else {
    					System.out.println("erreur");
    					String er = "login ou mot de passe ou compagnie n'est pas renseigné";
    					request.setAttribute("erreur", er);
    				}
    			}
     
    			if (section.contains("delogin")) {
    				System.out.println("deconnexion");
    				if (request.getParameter("delogin") != null) {
    					// Cookie c = getCookie(request.getCookies(), "login");
    					// c.setMaxAge(0);
    					// response.addCookie(c);
    					url = "/index.jsp";
    				}
    			}
    		}
    		System.out.println(url + " / " + request.getParameter("section"));
     
    			getServletContext().getRequestDispatcher(url).forward(request, response);
     
    	}
    }
    catalogue.jsp
    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
     
    <%@page import="java.util.List"%>
    <%@page import="pojo.Produit"%>
    <%@page import="beans.Article"%>
    <%@page import="java.util.HashSet"%>
     
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    	pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <div>
        <h3> Notre catalogue</h3>
        <table border='1'><tr><th>Produit</th><th>PrixHT</th><th></th></tr>
            <%
                List<Produit> tout = (List<Produit>) request.getAttribute("catalogue");
                for (Produit p : tout) {
                    out.println("<tr><td>" + p.getLibelProd() + "</td><td>"
                            + p.getPrixHT() + "</td><td><a href='Controleur?section=achat&ajouter="
                            + p.getIdProd() + "'>"
                            + "ajouter</a></td></tr>");
                }
            %>
        </table> 
        <hr />
     
        <div class="panier">
    		<h2 class="titre">Panier</h2>
     
    		<%
    			HashSet<Article> maList = (HashSet<Article>) session.getAttribute("maList");
    			if (maList.size() > 0) {
    		%>
     
    		<table border='1'>
    			<tr>
    				<th>Produit</th>
    				<th>Quantité</th>
    				<th colspan='3'>Options</th>
    			</tr>
     
    			<%
    				for (Article p : maList) {
    						out.println("<tr><td><label>"
    								+ p.getLibelProd()
    								+ "</label></td><td><label>"
    								+ p.getQte()
    								+ "</label></td><td><a href='ctrl?section=achat&supprim="
    								+ p.getIdProd() + "'>" + "suppr</a></td>"
    								+ "<td><a href='ctrl?section=achat&plus="
    								+ p.getIdProd() + "'>" + "plus</a></td>"
    								+ "<td><a href='ctrl?section=achat&moins="
    								+ p.getIdProd() + "'>" + "moins</a></td></tr>");
    					}
    			%>
     
     
    		</table>
    		<a href="ctrl?section=achat&vider=ok">Vider Panier</a>
    		<%
    			} else {
    				out.println("Votre panier est vide");
    			}
    		%>
    	</div>
    </div>	
    </body>
    </html>

  6. #26
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    j'arrive pas à comprendre ce que fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    beanPanier bp = new beanPanier();
    session.setAttribute("panier", bp);
    System.out.println("panier2");
    session.setAttribute("maList", bp.getMaList());
    il faut que tu cherches pourquoi "maList" est null ...
    soit parce que maList n'est pas mise dans la session "peu probable"
    soit parce que tu ne passes pas par ces lignes de code
    soit parce que bp.getMaList() te renvoie null ...

    tu dois chercher "en mode debug" ... tu passeras moins de temps à chercher.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 115
    Points : 46
    Points
    46
    Par défaut
    Ca marche! Merci beaucoup pour ton aide!!!

    C'était dans le controleur, il fallait changer de if (session.getAttribute("panier") != null) au if (session.getAttribute("panier") == null)

  8. #28
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut


    n'oublie pas de passer ce fil de discussion à "résolu"
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  9. #29
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 115
    Points : 46
    Points
    46
    Par défaut
    Malheureusement j'ai de nouveau une exception quand je veux ajouter un produit au panier. J'ai vérifié la chemain, http://localhost:8080/ApplicLogin/ct...chat&ajouter=1 Et je passe dans le if achat où je veux, mais mon produit n'affiche pas dans le panier, et j'ai une exception. Je suis vraiment déséspéré.

    Le controleur:

    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
     
     
     
    			if (section.contains("achat")) {
    				System.out.println("achat");
    				beanPanier bp = (beanPanier) session.getAttribute("panier");
    				MetierPanier mp = MetierPanier.getInstance();
    				String ajouter = request.getParameter("ajouter");
    				System.out.println("achat2");
    				if (ajouter != null) {
    					System.out.println("achat3");
    					Produit prod = mp.selectProd(Integer.valueOf(ajouter));
    					mp.add(bp, prod);
    				}
    				url = "/WEB-INF/pages/catalogue.jsp";
    			}
    Stracktrace:

    nov. 03, 2012 4:16:06 PM org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Dell\DW WLAN Card;C:\Users\khi\Downloads\eclipse-jee-juno-SR1-win32\eclipse;;.
    nov. 03, 2012 4:16:06 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Catalogue' did not find a matching property.
    nov. 03, 2012 4:16:06 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ApplicLogin' did not find a matching property.
    nov. 03, 2012 4:16:06 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Application_WEB' did not find a matching property.
    nov. 03, 2012 4:16:06 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    nov. 03, 2012 4:16:06 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
    nov. 03, 2012 4:16:06 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 487 ms
    nov. 03, 2012 4:16:06 PM org.apache.catalina.core.StandardService startInternal
    INFO: Démarrage du service Catalina
    nov. 03, 2012 4:16:06 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.32
    nov. 03, 2012 4:16:12 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-bio-8080"]
    nov. 03, 2012 4:16:12 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-bio-8009"]
    nov. 03, 2012 4:16:12 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 5120 ms
    connexion
    /WEB-INF/pages/bienvenue.jsp / connexion
    catalogue
    catalogue2
    panier
    panier2
    /WEB-INF/pages/catalogue.jsp / catalogue,panier
    achat
    achat2
    achat3
    /WEB-INF/pages/catalogue.jsp / achat
    nov. 03, 2012 4:16:22 PM org.apache.catalina.core.ApplicationDispatcher invoke
    SEVERE: "Servlet.service()" pour la servlet jsp a lancé une exception
    java.lang.NullPointerException
    at org.apache.jsp.WEB_002dINF.pages.catalogue_jsp._jspService(catalogue_jsp.java:86)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at controleur.controleur.doGet(controleur.java:122)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    nov. 03, 2012 4:16:22 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [form] in context with path [/ApplicLogin] threw exception [java.lang.NullPointerException] with root cause
    java.lang.NullPointerException
    at org.apache.jsp.WEB_002dINF.pages.catalogue_jsp._jspService(catalogue_jsp.java:86)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at controleur.controleur.doGet(controleur.java:122)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

  10. #30
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    C'est parce que FRANCHEMENT, ton algorithme avec ton contrôleur est loin d'être propre.

    NullPointer, c'est parce que tu déclenches une méthode sur un Objet qui est NULL ... par exemple "maList.size()" ... tu cherches à déclencher "size()" alors que "maList" est null ...

    donc la question après, n'est qu'une question de LOGIQUE ...
    Pourquoi est-ce nul ? parce que tu ne passe pas par la portion de code qui met une instance VALIDE ...

    Bref, tu dois chercher en MODE DEBUG ... et ne pas t'alarmer quand tu tombes sur cette exception, qui est NORMALEMENT, l'une des plus facile à trouver.

    ici, avec la stacktrace que tu donnes (et qui n'est pas complète) on voit que le problème vient ENCORE de la lecture d'une liste qui n'a pas été récupérée correctement dans catalogue.jsp ...

    Tu dois donc revoir TON ALGORITHME COMPLET.
    et éviter de tout faire dans une seule méthode "celle de ton contrôleur".
    Crée des méthodes : c'est gratuit. Divise ton contrôleur, il n'en sera que plus clair et éviter des if de if de if de if ...
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Tomcat 5.5 Null Pointer Exception
    Par nono44200 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/04/2007, 10h00
  2. Null pointer Exception pour ma Fenetre
    Par LeXo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 22/01/2007, 09h17
  3. Null Pointer Exception
    Par gloglo dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2006, 11h32
  4. [Struts] Null Pointer Exception
    Par n@n¤u dans le forum Struts 1
    Réponses: 1
    Dernier message: 01/08/2006, 13h10
  5. Null Pointer Exception
    Par snouppy dans le forum JBuilder
    Réponses: 3
    Dernier message: 13/06/2006, 21h53

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