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

Servlets/JSP Java Discussion :

[JSP] Changements de sessions Http


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 240
    Par défaut [JSP] Changements de sessions Http
    Bonjour,

    Voilà, je me retrouve en face d'un problème assez bizarre, limite mystique

    je suis en train de développer une appli web en java (serveur tomcat). j'ai une page de connexion (login, mot de passe) une servlet qui vérifie si les paramètres sont bons et si c'est le cas elle crée l'utilisateur puis redirige vers une page accueil.jsp. Tout ça est très classique.

    Le soucis viens du fait que l'objet HttpSession que je récupère dans la servlet et dans accueil.jsp sont différentes! J'ai affiché leur identifiant qui sont différents. Et donc dans tout ça je perds mon utilisateur etc...

    Je ne fais jamais de session.invalidate() ou ce genre de truc, tout ça reste assez simple et classique.

    De plus je développe sur mon poste et après je dois l'uploader sur un serveur, bien sûr les 2 serveurs sont les mêmes (tomcat) et en local ça passe bien par contre c'est sur le serveur ou la bizarrerie se produit.

    Si quelqu'un peut m'aider svp....

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le conteneur te fourni la session en fonction de l'identifiant de session que tu passe dans les url (via l'url rewriting). Si t'as pas utilisé <c:url> dans ton formulaire pour générer tes urls, elle ne contiendront pas l'info. De meme, si le servlet n'envoie pas de url générées correctement (voirs les specs j2ee), la session ne sera pas trackable.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Par défaut
    nezdeboeuf62, comment tu les récupères les objets session ?
    Tu peux poster ton code ?

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 240
    Par défaut
    grosso modo mon code donne un truc du genre

    fichier index.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action="connectServlet">
      <input type="text" name="login" />
      <input type="pasword" name="password" />
      <input type="submit" />
    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
     
    protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
      User user=connect(request.getParameter("login"), request.getParameter("password"));
     
     if(user.isConnected()){
      request.getSession().setAttribute("user",user);
    	System.out.println("sessionServlet = " + request.getSession().getId());
        response.sendRedirect("accueil.jsp");
     } else {
        response.sendRedirect("error.jsp");
     }
      return;
    }
    enfin le fichier accueil.jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <%
            System.out.println("sessionJSP = " + request.getSession().getId());
     
    %>
    et en fait le sessionServlet et le sessionJSP sont différents... donc le user est null etc...

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    alors, pour que java ajoute le session id:


    <form action="<c:url value="laServlet"/>">

    et


    response.sendRedirect(response.encodeRedirectURL("accueil.jsp"));

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. session http et jsp
    Par chouaiebnabil dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/06/2009, 18h23
  3. [JSP] Utilisation de session
    Par samios dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 02/11/2004, 11h17
  4. [SERVLET][JSP]conserver sa session
    Par jse dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 26/08/2004, 13h53
  5. [JSP] Gestion de sessions
    Par orisis dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2004, 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