会话变量不会在Spring MVC控制器的下一个请求中保留值

问题描述

| 我有应用程序范围的单个控制器。
@RequestMapping(method = RequestMethod.POST,value=\"services\")
@ResponseBody
mwpWebServices(@RequestBody String data,HttpServletRequest request,HttpServletResponse response) throws JSONException,UnkNownHostException,MongoException

{
    HttpSession session = request.getSession();

    ......

    String method = jsonObj.getString(\"method\");

    ....

    if(method.equals(\"login\"))
    {
        someClassObj.login(params);//which stores some value in session variable \"somevar\"
    }

    if(method.equals(\"other\"))
    {
        System.out.println(session.getAttributes(\"somevar\"));//coming null
    }
}
现在\“数据\”将接收JSON字符串 然后我将解析为JSONObject {\“方法\”:\“登录\”,\“动作\”:\“验证\”,\“参数\”:\“某些数据\”} 现在当方法登录时 我调用一个类的方法,我将会话对象传递给该类,该对象在会话中存储一些值 但是当下一次请求到来时,会话变量不会保持不变的值...     

解决方法

        
if(method.equals(\"login\"))
    {
        someClassObj.login(params);
        //which stores some value in session variable \"somevar\"
    }
如果您不传递Session或Request对象,它将如何在会话变量\“ somevar \” \'中存储\'一些值?     ,        的HttpSession需要客户端,即浏览器将会话ID存储在Cookie中。 因此关闭了我的浏览器的Cookie,这就是每个请求都带来新会话ID的原因