TOMCAT5.0+SQL Server
用户登陆后,会将该用户有userID记录到session中,根据该用户所拥有的权限,可以对某些记录进行添加,修改等操作(在进入某条记录的时候,会把该记录的id号也记录到session中),现在问题是这样:用户在操作记录时,有时会出现session丢失的情况(相对于该客户机所有session都会丢失,但session ID是存在,并没有发生改变),这过程也没有将session值清空的代码,session 的 timeout时间为"-1"。
为这个问题在网上找相关资料也找了不少,问了别人也不少,都没有结果。听说这里高手如云,希望各位能解小弟燃眉之急!谢谢了
用户登陆后,会将该用户有userID记录到session中,根据该用户所拥有的权限,可以对某些记录进行添加,修改等操作(在进入某条记录的时候,会把该记录的id号也记录到session中),现在问题是这样:用户在操作记录时,有时会出现session丢失的情况(相对于该客户机所有session都会丢失,但session ID是存在,并没有发生改变),这过程也没有将session值清空的代码,session 的 timeout时间为"-1"。
为这个问题在网上找相关资料也找了不少,问了别人也不少,都没有结果。听说这里高手如云,希望各位能解小弟燃眉之急!谢谢了
tomcat的session好像这不是第一贴。
一、你的tomcat要没有重启过,重启后session是没有了的(除非你做session的序列化
二、session没过时
三、你的IE窗口要是你登录的窗口或者由这个窗口打开的链接,从桌面上打开session是不同的
我以前也是这样的,这样的原因好像是服务器的问题。不过我做那个项目时服务器补丁不是我打的,我也不知道为什么,呵呵
怎么影响的呢
指针断裂可能是原因,具体怎么解决还没好的办法,可能注意下字符串的初值和传值过程会不错吧
你们说的情况,我仔细看了好几遍,谢谢你们的关注
一、这个情况确实存在,要不然我也不用在这里发贴子了
二、我想应该不是IE浏览器的原因,因为我独自进行测试的时候,测了近一个上午,也没有出现一次这样的情况,如果是IE浏览器的原因的话,那也应该会再次发生
三、有关指针断裂的情况,请问一下具体应该怎么解决。
四、每次打开浏览器就删除一次COOKIE,我会试试,谢谢!
再次谢谢你们的关注,如果我找到解决的方法,会及时在这里贴出来与大家共享,也希望看到这个贴子的兄弟能在这里留下你的看法(至少也帮我顶一下),:)
我也会到网上其他地方找相关的资料,再次谢谢你们!
===============================================================
二、我想应该不是IE浏览器的原因,因为我独自进行测试的时候,测了近一个上午,也没有出现一次这样的情况,如果是IE浏览器的原因的话,那也应该会再次发生
===============================================================你是不是在一台机器上做的测试?! 我上次出现这个情况的环境是两台电脑之间,用iframe的形式,把两个在不同系统中(一个使用weblogic,一个使用tomcat.)的页面嵌套起来,然后把校验码放在session里,一个页面登陆后转到另一个系统的页面,页面一转向就会发现session值丢失了,具体表现为怎么也登录不进去,一直报校验码不正确的错误!这是我上次遇到的情况,我们碰到的具体问题可能不同,但由于IE安全性导致的session值丢失是确实存在的,而且有很多方式会导致出现这样的问题,我所遇到的只是一个具体的问题罢了
to zoeg(沉香)
----------------------------------------
在服务器处于启动状态时,更新/修改你的JSP文件/class文件,极容易造成session丢失之类非常奇怪的问题!
-----------------------------------------
没有你说的这种情况,每次在出错的时候,并没有更新/修改你的JSP文件/class文件,所以也应该不是这个原因。to luckysnow2046(飞扬我心)
----------------------------------------
用枚举类把session里面所有的变量和变量值打印一下,看看有哪些,在什么位置丢失就知道了
----------------------------------------
用你说的方法,我试过了,除了session id 会显示出来外,其他值全部null.而且出错的位置大部份时候都没有问题。to riancoat(天黑黑)
你说的这种方法,我明天再试试,谢谢你。也谢谢上面两位的回复!
还有上面这点,试过了,还有没有解决。
由于在丢失的地方(导航栏)之间的链接用的是URL链接(如http://XXX:8080/YYY/...),IE有时候会认为我所给的链接是受限站点,所以把它拦截下来了。后来将那几个链接分成几个相对路径后,问题就解决了。
现在还有一个疑问,为什么其中有一个客户端出现丢失的问题后,其他客户端也会受到影响。