Struts1 中session 莫名的被清空。。。。。。。。。。。。。。。

问题描述

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有时能取到,但一会就取不到了。帮忙解决一下,谢谢。

解决方案

解决方案二:
把有效期设置长点呗,20少了,设置成2000应该没问题了吧
解决方案三:
引用1楼wiselight的回复:

把有效期设置长点呗,20少了,设置成2000应该没问题了吧

我设成了3000都不行。
解决方案四:
在页面你是怎么获取的
解决方案五:
你没有写session过滤器吗?当session过期自动转到登录页面就OK了这样就不会报错了
解决方案六:
放的时候和取的时候的key不一致吧。
解决方案七:
引用5楼qqcrazyboy的回复:

放的时候和取的时候的key不一致吧。

一样
解决方案八:
你确定user放进去了?不会user是空的吧放到时候打印一下user呗

时间: 2024-09-29 01:25:38

Struts1 中session 莫名的被清空。。。。。。。。。。。。。。。的相关文章

php中session删除清空方法总结

1.unset($_SESSION['xxx']) 删除单个session,unset($_SESSION['xxx']) 用来unregister一个已注册的session变量.其作用和session_unregister()相同. session_unregister()在PHP5中已经废弃. <?php          // 初始化session.          session_start();          /*** 删除所有的session变量..也可用unset($_SES

PHP中session变量的销毁

本篇文章主要是对PHP中session变量的销毁进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1.何为session? 相当于一个客户端(可以是浏览器.app.ftp等其他,而且同一个浏览器多开几个又算是不同的客户端)对服务器的一个访问,这个期间服务器为此建立一个唯一的标示(session_id session_name),其实也就是一个数组Array(),Session的开始和结束并不以业务上的输入用户名密码开始,也不以关闭浏览器和网页刷新而结束 2.session变量的销毁 程序

ThinkPHP中session函数详解_php实例

在PHP中使用$_SESSION来操作session,而ThinkPHP提供了session的封装函数session().单单这一个函数就实现了session的增删改查的功能.下面我们分别来看其应用与实现. 该session()函数的定义是在Common/functions.php中定义. session配置 session($name='',$value='')函数有两个参数,$name为数组的时候是对session进行设置.使用如下: $name = array( 'name'=>'name

thinkPHP中session()方法用法详解_php实例

本文实例讲述了thinkPHP中session()方法用法.分享给大家供大家参考,具体如下: 系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 session(name,name,value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值.获取或者操作. Value(可选):要设置的session值,如果传入null表示删除sess

PHP中Session和Cookie是如何操作的_php技巧

Session PHP的$_SESSION可以存储当前用户数据信息,用户访问WEB网站的时候,PHP会给每个访问的用户创建一个session ID,该ID是唯一ID,保存在客户机上,而用户的会话数据是保存到服务端的,PHP可以对每个不同的用户信息进行存储,当会话过期后,用户session信息也会失效. 使用Session,在使用PHP session时,一定要在页头加上session_start(),告诉服务器开始使用session了,而且在它之前应该没有任何输出,否则会报错. <?php se

iis7中session丢失的解决方法小结_win服务器

问题描述: Windows Server 2008 +IIS +ASP.net +SQLServer2008搭建的内部WEB系统. 用户Session总是丢失,可能是IIS的不稳定性将导致Session频繁丢失. 用的是Session=SQLSEVER,即把Session保存到数据库. 解决方法: 1,在命令行进入如下地址(InstallSqlState.sql文件目录) cd "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 2,运行如下

thinkphp3.x中session方法的用法分析_php实例

本文实例讲述了thinkphp3.x中session方法的用法.分享给大家供大家参考,具体如下: 一.Session方法用于Session 设置.获取.删除和管理操作. Session 用于Session 设置.获取.删除和管理操作 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值.获取或者操作. Value(可选):要设置的sessio

PHP中SESSION的注销与清除_php技巧

1.每个页面都必须开启session_start()后才能在每个页面里面使用session. 2.session_start()初始化session,第一次访问会生成一个唯一会话ID保存在客户端(是基于cookie保存的),用户下次访问时,session_start()会检查有没有会话ID,如果有浏览器会带着这个会话ID过来(通过发送头文件传过来的,这个可以用ff浏览器看到)来确定客户端. 3.给于cookie的session会在客户端保存一个会话ID即session_id,这个可以通过打印co

Asp.net 默认配置下,Session莫名丢失的原因及解决办法

Asp.net 默认配置下,Session莫名丢失的原因及解决办法 正常操作情况下Session会无故丢失.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. 这次到CSDN上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软网站上也有类似的内容. 现在我就把原因和解决办法写出来. 原因: 由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下: <sessio