社区
Web 开发
帖子详情
session莫名丢失,会是啥原因啊,如何调试
lining_1977
2009-11-11 03:38:12
目前系统运行过程中,会莫名其妙的跑到登陆页面,每个jsp头都加了用户的session验证,而且都是在操作过程中丢失的,肯定不是过期引起的,会是啥原因的?没有测试出丢失的规律,是偶尔发生的,
...全文
657
33
打赏
收藏
session莫名丢失,会是啥原因啊,如何调试
目前系统运行过程中,会莫名其妙的跑到登陆页面,每个jsp头都加了用户的session验证,而且都是在操作过程中丢失的,肯定不是过期引起的,会是啥原因的?没有测试出丢失的规律,是偶尔发生的,
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
33 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cgret
2009-11-17
打赏
举报
回复
我也遇到过这种情况,莫名其妙的session值就变掉了,仔细查找原因发现好像在主页面如果用window.open的话sessionID一定会丢失。所以后来把所有的window.open都移交到iframe里面的页面去了。
ml_dark
2009-11-16
打赏
举报
回复
[Quote=引用 4 楼 javagril 的回复:]
学习,我还没遇到这种情况
[/Quote]
...禁用cookie怎么办?那session不是挂掉了................................................................
礼拜六
2009-11-16
打赏
举报
回复
真的没碰到过,关注!
goldeyehn
2009-11-16
打赏
举报
回复
很久没写代码了,只能给你思路。
确定其他操作没有修改session。
确定要找的session正确
确定需要session的页面能正确得到正确的session。
所谓丢了,就是以后都找不到。
回到登录页面后,你后退做其他操作是正常还不正常?
是都不正常还是有时候不正常。
先定位问题出现的地方吧。
闲人のMr丶Wu
2009-11-16
打赏
举报
回复
[Quote=引用 4 楼 javagril 的回复:]
学习,我还没遇到这种情况
[/Quote]
嗯,我也学习
timeriver_wang
2009-11-13
打赏
举报
回复
[Quote=引用 13 楼 zhuangwei517 的回复:]
如果不跨域,session在正常情况下丢失到是还没有遇到过。
要调试你可以写一个监听的类:
public class LoninListener implements HttpSessionBindingListener
{
public void valueBound(HttpSessionBindingEvent event)
{
}
public void valueUnbound(HttpSessionBindingEvent event)
{
记录相关信息
}
}
在登录方法里采用session.setAttribute("longin",new LoninListener());进行绑定。这样当login这个属性失效后就会调用LoninListener 中的valueUnbound方法。valueUnbound方法你可以根据自己想获取的信息进行实现
[/Quote]
这是个好方法
要不就用 Eclipse的dug
downice
2009-11-13
打赏
举报
回复
[Quote=引用 25 楼 javajc 的回复:]
22楼: 服了,那就把那些代码全删点,用一个filter过滤全搞定,基本丢失可能性下降80%吧
action 中你也过滤么?action分项目前台的action和后台添加数据的action你怎么处理session问题,说的真简单
[/Quote]
关ACTION什么事情,在filter里面重新确认下session嘛。。。。相当于继电器(模拟信号传输损耗)。
这个比率多少我不知道。。但是肯定有一定的作用。
teemai
2009-11-13
打赏
举报
回复
mark
wind_rosebush
2009-11-13
打赏
举报
回复
lz看看session是在哪丢失的,然后再分析分析代码找找原因,之前我也遇到过,后来找到那地方,只是重新拾下session
海川520
2009-11-13
打赏
举报
回复
22楼: 服了,那就把那些代码全删点,用一个filter过滤全搞定,基本丢失可能性下降80%吧
action 中你也过滤么?action分项目前台的action和后台添加数据的action你怎么处理session问题,说的真简单
fyofmee
2009-11-12
打赏
举报
回复
关注下
上帝有好生之德
2009-11-12
打赏
举报
回复
服了,那就把那些代码全删点,用一个filter过滤全搞定,基本丢失可能性下降80%吧
老张-AI
2009-11-12
打赏
举报
回复
既然不是时间问题
估计原因是
大部分的Session丢失是客户端引起的,所以要从客户端下手,看看cookie有没有打开
IE中的cookie数量限制(每个域20个cookie)可能导致session丢失
designedIt
2009-11-12
打赏
举报
回复
[Quote=引用 7 楼 lining_1977 的回复:]
(HttpServletResponse)response).setHeader("P3P","CP=CAO PSA OUR"
这个我试试,不知道能不能解决,太难模拟了,不过我们用了好多的框架,iframe,说不定真是这个原因呢
服务器没事
[/Quote]
这个问题我曾与它搏斗了好多天。
就是:session没有过期,而是浏览器向服务器方传请求时,会丢失JSESSIONID的这个COOKIE。经过我的多方测试,我发现:当使用frameset 或 iframe 时,出现的可能性很高。
查了很多资料,微软的解决方案建是:setHeader("P3P","CP=CAO PSA OUR"),
但对我们的系统,没有用。
后来用户实在对我们这个问题很烦脑,最后不得不放弃session,全部采用URL重写。(以后的系统中,我们就少用了frameset 与 iframe了----若要用,应该使用URL重写。)
cangbai217
2009-11-12
打赏
举报
回复
关注
海川520
2009-11-12
打赏
举报
回复
恩,我也出现过,不过一直没有解决关注中。。。struts 2 ie7浏览器
bayougeng
2009-11-12
打赏
举报
回复
[Quote=引用 14 楼 benewu 的回复:]
是不是往session里面塞了很多对象导致出错?
用一些调式工具跟踪一下
或者干脆把session持久化到数据库,如果丢失了再去数据库找一遍。
[/Quote]
强!
李子做IT
2009-11-12
打赏
举报
回复
学习了.
benewu
2009-11-12
打赏
举报
回复
是不是往session里面塞了很多对象导致出错?
用一些调式工具跟踪一下
或者干脆把session持久化到数据库,如果丢失了再去数据库找一遍。
zhuangwei517
2009-11-12
打赏
举报
回复
如果不跨域,session在正常情况下丢失到是还没有遇到过。
要调试你可以写一个监听的类:
public class LoninListener implements HttpSessionBindingListener
{
public void valueBound(HttpSessionBindingEvent event)
{
}
public void valueUnbound(HttpSessionBindingEvent event)
{
记录相关信息
}
}
在登录方法里采用session.setAttribute("longin",new LoninListener());进行绑定。这样当login这个属性失效后就会调用LoninListener 中的valueUnbound方法。valueUnbound方法你可以根据自己想获取的信息进行实现
加载更多回复(12)
phpweb排版掉背景及排版自动被保存补丁
1.PHPWEB排版完成后网页背景掉了, 2.后台排版后并没有保存,但退出后,发现在所有的排版都被
莫名
的自动保存。 对于上面两个问题,以布补丁。 注 意软件版本必须在:Video
2018年度大数据时代的互联网信息安全测试题及答案.doc
2018年度大数据时代的互联网信息安全测试题及答案.doc
Session
莫名
丢失
的
原因
及解决办法
Asp.net默认配置下,
Session
莫名
丢失
的
原因
及解决办法 正常操作情况下
Session
会
无故
丢失
。因为程序是在不停的被操作,排除
Session
超时的可能。另外,
Session
超时时间被设定成60分钟,不
会
这么快就超时的。 这次到CSDN上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软网站上也有类似的内容。 现在...
ASP.NET
Session
详解及
Session
莫名
丢失
的
原因
及解决办法
Session
模型简介
Session
是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个
Session
,同时服务器
会
自动为其分配一个
Session
ID,用以标识这个用户的唯一身份。这个
Session
ID是由WWW服务器随机产生的一个由24个字符组成
Asp.net 默认配置下,
Session
莫名
丢失
的
原因
及解决办法
Asp.net 默认配置下,
Session
莫名
丢失
的
原因
及解决办法 正常操作情况下
Session
会
无故
丢失
。因为程序是在不停的被操作,排除
Session
超时的可能。另外,
Session
超时时间被设定成60分钟,不
会
这么快就超时的。 这次到CSDN上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软网站上也有类似的内容。 现在我就把
原因
和解决办法写出来。
原因
: 由于A...
Web 开发
81,121
社区成员
341,743
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章