J'ai un problème avec HttpSession, je ne l'ai pas
Je pense que j'ai oublié une annotation ou quelque chose comme ça.
Ai-je besoin de faire un session.create()?Java Spring session.getAttribute ("test") est null
Dans UserController:
@Controller
public UserController{
public ResponseHttp connection(User userSent, HttpSession session) {
ResponseHttp responseHttp = new ResponseHttp();
//function to check login/mdp
if (check) {
responseHttp.setSuccess(true);
responseHttp.setMessage("Connection success");
//some code
//
//
session.setAttribute("userId", 1); // this is an example
System.out.println(session.getAttribute("userId")) // return 1
return responseHttp;
}
}
responseHttp.setSuccess(false);
responseHttp.setMessage("Connection failed");
return responseHttp;
}
}
Dans un autre contrôleur:
@Controller
public class MyController{
public void test(HttpSession session){
System.out.println(session.getAttribute("userId")) ; // return null
}
}
UPDATE 25-06-2017
I essayé d'injecter @HttpSession dans les deux contrôleurs A connexion I vérifiez la session comme ça:
if(httpSession.isNew()){
System.out.println("New") // ok return new !
System.out.println(httpSession.getId()); // A87AC018FD8DDA33B023FAA6C1C2D71C
}
Dans l'autre contrôleur
if(httpSession.isNew()){
System.out.println("New") // it's returning new again
System.out.println(httpSession.getId()); // 2FE08FB68EA53F7FEBB8143CFEE6A9EB
}else{
System.our.println("not new")
}
Question: Pourquoi pas la même session?
vérifier si les deux sessions sont même en imprimant la session ids –
ce que votre portée! – Generic
jeter un oeil à ce lien peut-être vous aider à https://stackoverflow.com/questions/5766521/how-do-you-store-java-objects-in-httpsession – Generic