Servlet => HttpSession : impossible de sauver des valeurs dans la session
cs_GGM
Messages postés5Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention30 juillet 2003
-
29 juil. 2003 à 10:39
difou
Messages postés2Date d'inscriptionvendredi 8 avril 2005StatutMembreDernière intervention25 août 2008
-
25 août 2008 à 16:42
Hello everybody people !!
Ptit problème au nivau des servlet java :
je veux créer une httpSession afin de garder des infos sur l'utilisateur mais quand je veux les sauver dans la session il me met une erreur !! ?-)
(Aucun pb à la compilation)
Si kk'un a une idée ?
Merci d'avance !
-----------------------------------------------
La source :
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
ServletOutputStream out = res.getOutputStream();
res.setContentType("text/html");
String service = req.getParameter("service");
String redacteur = req.getParameter("redacteur");
if ((redacteur == null) || (redacteur.length()==0))
{
msgAlert = " - VOUS N'AVEZ PAS SAISI DE NOM DE REDACTEUR ";
out.println(showForm());
msgAlert="";
}
// Si redacteur!= null || <= 50 caractères=> OK
else
{
// On stocke dans un context les informations du user (redacteur & service)
// Création de la session
HttpSession session = req.getSession(true);
// Sauve les infos
session.setAttribute("redacteur", redacteur);
session.setAttribute("service",service);
// redirection vers la page suivante
url ="toto.html";
out.println("<meta http-equiv="refresh" content="0;URL=" + url + "">");
}
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 30 juil. 2003 à 01:23
Et quel message d'erreur est envoyé. Si c'est une exception c'est au runtime et jamais à la compilation car une appli ne génère jamais d'exception propre à elle à la compilation.
getSession ne suffit pas.
Il faut activer les sessions à partir du fichier de config de ton serveur.
cs_GGM
Messages postés5Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention30 juillet 2003 30 juil. 2003 à 12:25
Ok !!
En fait j'utilise un serveur Tomcat (v 4.1) mais pour le configurer j'avoue mon ignorance !
Si kk'un sait le configurer pour les HttpSession ?
GGM
PS : merci Core Breaker !!
-------------------------------------------------------------
Liste des exceptions :
javax.servlet.ServletException: L''exécution de la servlet a lancé une exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)
cause mère
java.lang.NoSuchMethodError: javax.servlet.http.HttpSessionBindingEvent.(Ljavax/servlet/http/HttpSession;Ljava/lang/String;Ljava/lang/Object;)V
at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1274)
at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:191)
at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:191)
at SessionTracker.doGet(SessionTracker.java:23)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 30 juil. 2003 à 20:02
Je vois le problème mais je sais pas trop comment la corriger.
En fait le serveur d'application catalina es cessé implémenter l'interface javax.servlet.http.HttpSessionBindingListener mais c'est visiblement pas fait. Essai d'implémente cette interface dans les classes dont tu ajoute les objets dans la session mais c'est pas garantit.
C'est un peu bidouille mais bon il faut ce qu'il faut.
Sinon essai de voir si le fichier de paramétrage (un .properties je crois) de catalina est correctement configuré au niveau des sessions.
cs_GGM
Messages postés5Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention30 juillet 2003 30 juil. 2003 à 20:56
Effectivement c t bien un problème de config de mon serveur Tomcat !
Mais je me suis pas pris la tête G réinstallé une version toute propre de Tomcat 4.1 parce ke celle d'avant je l'avais un ptit peu bidouillé et appremment ça lui a pas plu !! :/
et maintenant ça fonctionne !!
pow@@@@ !!! :-P
Merci encore CoreBreaker !
Vous n’avez pas trouvé la réponse que vous recherchez ?
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 30 juil. 2003 à 22:53
eh voilà !!
En fait pour bidouiller un server d'appli il faut connaître son fochier de config à fond ! Et Tomcat n'est pas un des simple car il est très évolué et permet donc de le personnaliser à fond.
NataKova
Messages postés1Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention20 septembre 2004 20 sept. 2004 à 17:11
Bonjour,
mon appli est ecrite en java1.2.
Je dois passer sous Jonas (Tomcat 4.1 -Apache 2 et qui utilise jdk 4). Je rencontre le meme probleme lors de runtime:
java.lang.NoSuchMethodError: javax.servlet.http.HttpSessionBindingEvent.(Ljavax/servlet/http/HttpSession;Ljava/lang/String;Ljava/lang/Object;)V
at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1274)
vous dites dans votre mail, que c'etait un pb de config de TOmcat, pourriez vous m'indiquer dans quel fichier de config et quelle modification vous avez fait.
difou
Messages postés2Date d'inscriptionvendredi 8 avril 2005StatutMembreDernière intervention25 août 2008 25 août 2008 à 16:42
Bonjour tout le monde
je veux créer une httpSession pour garder des données relatives à la session d'un
l'utilisateur.j'arrive à sauver les données dans la session(lors de l'appel du servlet pour vérifier le login auprès d'une base des données) et quand je veux récuperer ces données à partir d'une autre servlet
je trouve null!!!!
je pense que le problème est au niveau de l'url
comment choisir un id pour chaque utilisateur?est ce que je doit le mettre dans la page de saisi de login?