问题描述
|
我有应用程序范围的单个控制器。
@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的原因