如何实现离开页面的时候session失效

yzksoso 2009-11-18 09:32:01
标题描述的只是大概,实际情况如下:
我有两个页面,a.jsp,a_exec.jsp,a.jsp是一个添加页面,里面包括一个附件上传,附件上传后我是把上传的文件名放在Session中保存,然后在处理页面a_exec.jsp中取得此Session值把值存入数据库,然后再清除Session,但是现在问题也出现了,当我在添加页面时上传了附件,也就是表示Session中有值了,然后我没有做提交的操作,也就意味着我就没有清空Session,然后我离开此页面,再重新进入此添加页面,这次我不选择附件上传,我想大家差不多可以明白我的意思了,因为SESSION没有清空,我这次提交数据虽然没有上传附件但是前面操作的附件却存进来了。。。
不知道大家有没有碰过类似的情况,有什么解决办法请大家不吝赐教,谢谢
...全文
202 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
net_yuhai 2009-11-18
  • 打赏
  • 举报
回复
a.jsp 页面里面清除SESSION
yzksoso 2009-11-18
  • 打赏
  • 举报
回复
补充一下,事实上在这个添加页面附件上传是通过一个Window.open方式打开一个附件上传的页面,然后经过一系列处理后把文件名放在Session中,然后关闭上传页面,所以。。。
这个程序是原来别人就写好的,目前我是在上面做维护,看来一开始考虑的时候就有问题,打算这块重整一下
yzksoso 2009-11-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jlh2 的回复:]
引用 7 楼 yzksoso 的回复:
楼上的,你说的Reuest传值,能否具体点?

意思就是说让你在a.jsp中文件上传后将文件名写入一个隐藏域直接使用form进行提交文件名,这样就不需要使用SESSION来保存文件名了,a_exec.jsp则直接获取POST过来的文件名就行。不过为什么文件上传操作部放到a_exec.jsp里面去处理呢?
[/Quote]
呵呵,这个文件只是我要添加的内容的一部分啊,相当于我要了布一份信息,这个信息包括内容,标题,时间,传达对象等等,这个文件只是我要上传的附件而已,因为当前添加页面已经非常复杂了,有N多行,所以就处理操作放到另一个页面专门处理了。
sangshusen_1988 2009-11-18
  • 打赏
  • 举报
回复
使用request的话应该就不会出现这种在一个会话内访问到别的数据的事了。
开跑车的猪 2009-11-18
  • 打赏
  • 举报
回复
应该就是直接在a.jsp里面进行session判断就可以了
jlh2 2009-11-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yzksoso 的回复:]
楼上的,你说的Reuest传值,能否具体点?
[/Quote]
意思就是说让你在a.jsp中文件上传后将文件名写入一个隐藏域直接使用form进行提交文件名,这样就不需要使用SESSION来保存文件名了,a_exec.jsp则直接获取POST过来的文件名就行。不过为什么文件上传操作部放到a_exec.jsp里面去处理呢?
yzksoso 2009-11-18
  • 打赏
  • 举报
回复
9楼,你可能理解错了,不是SESSION失效,而是SESSION一直在
sunhope808 2009-11-18
  • 打赏
  • 举报
回复
我们诚恳地邀请大家加入到我们Java群组,热爱Java的同仁们,一起来探讨其中的难题和奥妙,每周我们会发出一个趣味性的小题目供大家探讨。也会继续上传JAVA连载教程,期待你们的加入!
群组地址:http://www.rjgc.net/uchome/space.php?do=mtag&tagid=73
道光2008 2009-11-18
  • 打赏
  • 举报
回复
明显是session失效了嘛,检查下你的session设置周期,还有打印一下session里面的其他属性看看。
还有一种可能就是你把上传文件名所处的属性做了覆盖(即设置了两次以上一样的属性名称)
youjianbo_han_87 2009-11-18
  • 打赏
  • 举报
回复
1. session 换成 request,这个天然的就是为了离开页面就失效的。

2. 在页面关闭事件里面,移除 session。
yzksoso 2009-11-18
  • 打赏
  • 举报
回复
楼上的,你说的Reuest传值,能否具体点?
zl3450341 2009-11-18
  • 打赏
  • 举报
回复
用request传值试试?
yzksoso 2009-11-18
  • 打赏
  • 举报
回复
4楼的方法确实是可以,主要是我原来考虑在页面上传后要在当前页面显示附件名称,所以搞了一个刷新页面,这么搞一刷新刚上传的附件就没了,后面考虑局部刷新,还没弄出来,可能要换个思路解决问题了
closewbq 2009-11-18
  • 打赏
  • 举报
回复
在a.jsp中头部,每次先remove一个你保存的附件。不管有没有,直接进行a.jsp就先remove
zhaoyuzhong 2009-11-18
  • 打赏
  • 举报
回复
在获取session中的文件名的时候
先不要插入数据库
先判断这个文件名的文件是否已经上传
如果没有上传,跳回上传文件页面
  • 打赏
  • 举报
回复
判断一下session的值。
gjsong 2009-11-18
  • 打赏
  • 举报
回复
能不能放在request里面?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧