httpSession.setAttribute !!!
ça m'étonnerait que cela marche ...
Déclaration
HttpSession session = request.getSession();
puis
session.setAttribute ("utilisateur", "valide");
Version imprimable
httpSession.setAttribute !!!
ça m'étonnerait que cela marche ...
Déclaration
HttpSession session = request.getSession();
puis
session.setAttribute ("utilisateur", "valide");
pour être plus précise, j'ai mis ça :
c'est pas bon non plus ?Code:
1
2
3 FacesContext context = FacesContext.getCurrentInstance(); HttpSession httpSession = (HttpSession) context.getExternalContext().getSession(true); httpSession.setAttribute ("utilisateur", "valide");
En fait, je n'utilise pas du tout cette recherche de session
FacesContext context = FacesContext.getCurrentInstance();
HttpSession httpSession = (HttpSession) context.getExternalContext()
Et je crois que pour avoir relu le début du post que c un pb dans la conception de ton application.
Première page JSP = login et mot de passe de l'user puis POST vers un controller de login (qui est une servlet) et pas une class simple que tu fais (enfin je crois)
donc public class loginclass extends Servlet {}
Dans ce controller, si le login et mot de passe sont ok alors tu setAttribut de la session avec "utilisateur", "valide"
comme tu es dans une servlet class, tu as directement la session par le request.getSession()
Ensuite dans tes autres pages JSP, tu test si l'objet "utilisateur" existe et plus voili voilà
J'suis assez clair :roll:
Bon ap A+
hélas, c'est une class simple, donc pas d'extend servlet....
bon j'ai réussi à m'en dépatouiller de ces sessions.
par contre, je ne comprends pas niveau session :
j'ai mon bean :
en fait, dans ce code, je vérifie le mot de passe.Code:
1
2
3
4
5
6 if ( _uid.equalsIgnoreCase(mail) && _pwd.equalsIgnoreCase(mdp) ) { action = "loginPass"; errLogin = ""; setErrLogin(errLogin); httpSession.setAttribute ("utilisateur", "valide"); }
s'il est bon, je mets errLogin à "" et je mets la session en valide.
errLogin, c'est une variable qui est contenue dans mon bean, et ce bean a un scope session.
(donc double session pour le coup ! et double emploi donc... mais c'est pour les tests.)
bon, le souci c'est que quand je lui rentre un nom d'utilisateur et un mot de passe corrects, je suis sensée passer dans le petit bout de code cité plus haut.
ma page est bien redirigée : action est bien passée à "loginPass"
(la redirection est faite par faces-config.xml)
donc action = loginPass
mais errLogin = erreur
et httpSession.getAttribute ("utilisateur", "invalide");
c'est à n'y rien comprendre !
Si errLogin dans une variable de ton bean et que tu as défini dans ta JSP
<jsp:useBean id="bip" scope="application .....>
pour modifier la variable errLogin il faut faire dans ta JSP
<jsp:setProperty name="bip" property="errLogin" value="">
Ou alors méthodes get et set de ton bean pour mettre à jour tes attributs de ta classe
ok, problème des sessions résolu.
Merci à tous !
:yaisse2::king: