论坛首页 Java企业应用论坛

struts2的session问题。

浏览 5264 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-04-01  
新手刚用struts2.
做了一个登陆action,往session中存储用户信息。
在后面别的action中再取session中的用户信息取不到。
网上搜索了一下。
因为struts2每次请求都会创建一个新的action实例,ActionContext或ServletActionContext也是全新的,所以用户登录信息只是保存在登录那次会话的session里。

想问下,struts2有没有类似struts1或者servlet时用的session???可以再用户访问服务器的整个过程中,一直保存用户信息???
   发表时间:2013-04-01  
//判断登录信息
Map loginSession=this.loginService.findLoginUser(map);
if(loginSession!=null) {
this.loginbean = (LoginBean)loginSession.get(Constant.LOGIN_PARAM);
ActionContext ctx= ActionContext.getContext();
Map session= ctx.getSession();
//获取

LoginBean loginBean=(LoginBean) ActionContext.getContext().getSession().get(Constant.LOGIN_PARAM);
0 请登录后投票
   发表时间:2013-04-01  
楼上已经有人回答了,不过,我有一句内心的话想说:哥们,难道你看资料就不能把这一块内容看清楚吗?
0 请登录后投票
   发表时间:2013-04-01  
freezingsky 写道
楼上已经有人回答了,不过,我有一句内心的话想说:哥们,难道你看资料就不能把这一块内容看清楚吗?



嗯,算我眼拙,好吧
0 请登录后投票
   发表时间:2013-04-03   最后修改:2013-04-03
mengjiaoyao 写道
//判断登录信息
Map loginSession=this.loginService.findLoginUser(map);
if(loginSession!=null) {
this.loginbean = (LoginBean)loginSession.get(Constant.LOGIN_PARAM);
ActionContext ctx= ActionContext.getContext();
Map session= ctx.getSession();
//获取

LoginBean loginBean=(LoginBean) ActionContext.getContext().getSession().get(Constant.LOGIN_PARAM);


真心不懂。struts2不是每一次请求都会重新创建一次action实例么???
每一个action实例都有自己的actionContext,那从context里取得的session怎么可能是统一的呢???
我怎么在不同的action调用同一个session??
你是否试过在不同的action访问这个session吗???
0 请登录后投票
   发表时间:2013-04-03  
freezingsky 写道
楼上已经有人回答了,不过,我有一句内心的话想说:哥们,难道你看资料就不能把这一块内容看清楚吗?

你确定你看懂我问的问题了???
如果只是一次请求,放session,我也可以取到。
但是我在后面其他的action里,取上下文中的session,根本取的就不是同一个session!
0 请登录后投票
   发表时间:2013-04-04  
session id一样就能取到,你在两个action中分别sysout一下session id看看,我觉得你的session不是一个session
0 请登录后投票
   发表时间:2013-04-05  
mengjiaoyao 写道
freezingsky 写道
楼上已经有人回答了,不过,我有一句内心的话想说:哥们,难道你看资料就不能把这一块内容看清楚吗?



嗯,算我眼拙,好吧


说的好像不是你哦
0 请登录后投票
   发表时间:2013-04-06  
MrLee23 写道
session id一样就能取到,你在两个action中分别sysout一下session id看看,我觉得你的session不是一个session


的确不是一个ID。发生情况是这样,本机IE浏览器就不能保存session。换火狐就可以。同事的IE访问也可以。。。。具体原因不知道。
0 请登录后投票
   发表时间:2013-04-06  
55913153 写道
MrLee23 写道
session id一样就能取到,你在两个action中分别sysout一下session id看看,我觉得你的session不是一个session


的确不是一个ID。发生情况是这样,本机IE浏览器就不能保存session。换火狐就可以。同事的IE访问也可以。。。。具体原因不知道。

是不是你IE禁用cookie了?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics