J'ai une webapp assez simple qui suit le tutorials set out by Mkyong et d'autres.Comment distinguer les sessions http dans Spring MVC?
Je souhaite que la portée de ma webapp soit distinguée par la session du navigateur. C'est un utilisateur différent, ou un autre onglet du navigateur ne doit pas partager des objets avec les autres utilisateurs/onglets du navigateur.
Ici, nous faisons des changements minimes au code figurant dans le tutoriel:
package com.mkyong.common.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/welcome")
public class HelloController {
private int i = 0;
@RequestMapping(method = RequestMethod.GET)
public String printWelcome(ModelMap model, HttpServletRequest r) {
System.out.println(r.getSession().getId());
System.out.println(i++);
model.addAttribute("message", "Spring 3 MVC Hello World");
return "hello";
}
}
Sortie:
F6E793D5ED12880E2F909A1A0C1D2D98
0
3E53022170EB77C0208AC0221A68D4D8
1
38A432F7C813A775E8F201AFB42178DB
2
Cela montre qu'il existe différentes sessions Http, mais ils ont le même ressources partagées.
Comment les distinguer?
Qu'essayez-vous réellement d'accomplir? Les contrôleurs de ressort sont singleton par défaut, mais vous devez stocker l'état de l'utilisateur dans les sessions –