浏览 5263 次
锁定老帖子 主题:struts2的session问题。
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-04-01
做了一个登陆action,往session中存储用户信息。 在后面别的action中再取session中的用户信息取不到。 网上搜索了一下。 因为struts2每次请求都会创建一个新的action实例,ActionContext或ServletActionContext也是全新的,所以用户登录信息只是保存在登录那次会话的session里。 想问下,struts2有没有类似struts1或者servlet时用的session???可以再用户访问服务器的整个过程中,一直保存用户信息??? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间: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); |
|
返回顶楼 | |
发表时间:2013-04-01
楼上已经有人回答了,不过,我有一句内心的话想说:哥们,难道你看资料就不能把这一块内容看清楚吗?
|
|
返回顶楼 | |
发表时间:2013-04-01
freezingsky 写道 楼上已经有人回答了,不过,我有一句内心的话想说:哥们,难道你看资料就不能把这一块内容看清楚吗?
嗯,算我眼拙,好吧 |
|
返回顶楼 | |
发表时间: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吗??? |
|
返回顶楼 | |
发表时间:2013-04-03
freezingsky 写道 楼上已经有人回答了,不过,我有一句内心的话想说:哥们,难道你看资料就不能把这一块内容看清楚吗?
你确定你看懂我问的问题了??? 如果只是一次请求,放session,我也可以取到。 但是我在后面其他的action里,取上下文中的session,根本取的就不是同一个session! |
|
返回顶楼 | |
发表时间:2013-04-04
session id一样就能取到,你在两个action中分别sysout一下session id看看,我觉得你的session不是一个session
|
|
返回顶楼 | |
发表时间:2013-04-05
mengjiaoyao 写道 freezingsky 写道 楼上已经有人回答了,不过,我有一句内心的话想说:哥们,难道你看资料就不能把这一块内容看清楚吗?
嗯,算我眼拙,好吧 说的好像不是你哦 |
|
返回顶楼 | |
发表时间:2013-04-06
MrLee23 写道 session id一样就能取到,你在两个action中分别sysout一下session id看看,我觉得你的session不是一个session
的确不是一个ID。发生情况是这样,本机IE浏览器就不能保存session。换火狐就可以。同事的IE访问也可以。。。。具体原因不知道。 |
|
返回顶楼 | |
发表时间:2013-04-06
55913153 写道 MrLee23 写道 session id一样就能取到,你在两个action中分别sysout一下session id看看,我觉得你的session不是一个session
的确不是一个ID。发生情况是这样,本机IE浏览器就不能保存session。换火狐就可以。同事的IE访问也可以。。。。具体原因不知道。 是不是你IE禁用cookie了? |
|
返回顶楼 | |