社区
Web 开发
帖子详情
session莫名丢失,会是啥原因啊,如何调试
lining_1977
2009-11-11 03:38:12
目前系统运行过程中,会莫名其妙的跑到登陆页面,每个jsp头都加了用户的session验证,而且都是在操作过程中丢失的,肯定不是过期引起的,会是啥原因的?没有测试出丢失的规律,是偶尔发生的,
...全文
742
33
打赏
收藏
session莫名丢失,会是啥原因啊,如何调试
目前系统运行过程中,会莫名其妙的跑到登陆页面,每个jsp头都加了用户的session验证,而且都是在操作过程中丢失的,肯定不是过期引起的,会是啥原因的?没有测试出丢失的规律,是偶尔发生的,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
长记性:struts2的
session
丢失
今天帮同事
调试
了个功能:选中删除提交后
session
丢失
。
调试
步骤:审查sql(需要吗??呵呵 我
调试
就这毛病喜欢从头一点点看),没错。表单名称和后台类属性一个个的看(有的时候还就是不仔细写错了个地方,
调试
的话得审查一遍),没错。默认值一个个的加,还没错。本来就
莫名
其妙的问题更让我摸不着头脑了。最后我重新做了个表单,只把有用的内容选过来,提交,OK!在这个时候发现了个细节:同事的action路径是
关于ASP.NET
Session
丢失
问题
1.在Web Application中使用框架(Frame)
会
导致
Session
莫名
失效,多数情况下打开页面就开始报错或在几秒钟内失效。出现这种情况时刷新页面一次或几次就
会
正常显示。2.上面提到的现象只有在刚刚生成解决方案后才出现,随着调用次数增多,出现
Session
失效次数也
会
越来越少。3.把应用程序发布到客户的服务器上就不
会
再出现此现象,不影响使用。如果发布后在客户的服务器上
调试
同样
会
发生Se
服务器断电导致php的
session
丢失
2019独角兽企业重金招聘Python工程师标准>>> ...
J
SESSION
ID背后的秘密:手把手教你用Chrome开发者工具
调试
Session
本文通过Chrome开发者工具实战演示了J
SESSION
ID的
调试
技巧,帮助开发者解决
Session
管理中的常见问题。从HTTP请求分析到
Session
全生命周期追踪,再到跨域和集群环境下的
Session
同步,详细解析了
Session
管理的底层机制和安全防护措施。
Streamlit
Session
State 原理与实战:破解状态
丢失
难题
Session
State 是 Streamlit 应用实现用户交互状态持久化的基础机制,其本质是为应对‘脚本全量重执行’模型而设计的
会
话级内存字典。它不依赖响应式框架,而是通过服务器端内存隔离、按需初始化和执行周期注入,保障每个用户
会
话的数据独立性与跨交互一致性。相比普通变量易被重置、widget 状态瞬时失效、global 变量共享污染等常见陷阱,
Session
State 提供了轻量但确定的状态生命周期管理能力,广泛应用于表单暂存、多步骤导航、UI 状态同步等核心场景。本文深入解析其内存模型、初始化策
Web 开发
81,111
社区成员
341,723
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章