问题描述
Action中的session值的失效与哪几方面有关???我在这里面用session存放了一个user的信息publicActionForwardcheck(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{response.setContentType("text/html;charset=utf-8");request.getCharacterEncoding();intid=0;//UserLoginFormuserLoginForm=(UserLoginForm)form;Listlistcheck=newUserLoginService().checkUser(userLoginForm.getUserName(),userLoginForm.getUserPass());if(listcheck.size()!=0){//即如果登录成功Userloginuser=(Userlogin)listcheck.get(0);request.getSession().setAttribute("user",user);id=user.getUsertype().getTypeId();request.setAttribute("userLogin",user);ListleftparentLeft=newParentService().checkparentById(id);request.setAttribute("leftparentLeft",leftparentLeft);returnmapping.findForward("main");}else{request.setAttribute("fail","123");returnmapping.findForward("loginfail");}}但在这里面过段时间后就取不到了,时间在web.xml我已经设置成了<servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></init-param><init-param><param-name>debug</param-name><param-value>3</param-value></init-param><init-param><param-name>detail</param-name><param-value>3</param-value></init-param><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><session-config><session-timeout>20</session-timeout></session-config>在其他的Action有时能取到,但一会就取不到了。帮忙解决一下,谢谢。
解决方案
解决方案二:
不会呢,等待高手回答!
解决方案三:
晕死,快点帮我解决一下把,都难为我好几天了。
解决方案四:
可能是session过期。。太长时间没有操作,会造成session过期。。
解决方案五:
引用3楼amos1989的回复:
可能是session过期。。太长时间没有操作,会造成session过期。。
时间也不长啊。就不到一分钟就过期了。
解决方案六:
你把那个session就没有传到你要获取的页面上。。。。
解决方案七:
引用5楼asliuyajun的回复:
你把那个session就没有传到你要获取的页面上。。。。
你能否说的明白一点,谢谢。急用
解决方案八:
把session调用的代码发上来
解决方案九:
首先确认是否存到session中了,然后看有没有代码使session失效。
解决方案十:
检查下是否别的地方对session操作过
解决方案十一:
会不会是session里根本就没有值呀,仔细检查一下吧!
解决方案十二:
引用3楼amos1989的回复:
可能是session过期。。太长时间没有操作,会造成session过期。。
一直操作这,但不到一分钟就失效了。我打印了一下session的最大时间是10800秒。
解决方案十三:
该回复于2011-03-31 09:17:06被版主删除
解决方案十四:
引用10楼jinlucky的回复:
会不会是session里根本就没有值呀,仔细检查一下吧!
有值啊,但持续时间不长
解决方案十五:
时间关浏览器
解决方案:
引用3楼amos1989的回复:
可能是session过期。。太长时间没有操作,会造成session过期。。
时间很长了,我打印了一下时间是10800s
解决方案:
是不是在别的地方哪里有重新生成新的Session导致当前Session中存储的对象不见了.