JSP 页面跳转保存session 但页面关闭时清除session

我在页面关闭时调用了onunload="<%session.invalidate();%>但当页面跳转时session也没有了,该怎么解决
那么当页面跳转时保留session而关闭时清除session该如何实现

要页面跳转保留session,那么在页面就不要有
session.invalidate();除非你页面上有判断语句,比如说<c:if text="你的判断条件"><%session.invalidate();%></c:if text=>
可是你想页面关闭时清除session c标签又不是触发事件才执行,它是后台过来就直接执行的
所以:
页面关闭的时候让session从后台关闭,然后跳到初始化页面就行了,也就是说关闭页面的时候在后台调用session.invalidate();然后重新跳转到初始化页面。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-25
onunload="<%session.invalidate();%>

这句话的意思其实你理解上有点错误,你的理解可能是:当unload的时候,执行session.invalidate(),但事实上是,<%session.invalidate();%>这句话并不知道自己在javascript里面,所以就是只要执行到这个页面,session就已经被杀死了。
第2个回答  2015-12-11
页面跳转时保留session而关闭时清除session该如何实现方法如下:

在jsp中设置一个全局变量:比如<%!String jump ="0"%>

关闭的时候jump值不变,跳转的时候设置为1,如下:
<c:if text="jump eq '0'"><%session.invalidate();%></c:if>
<c:if text="jump eq '1'">无须操作session。
第3个回答  2010-01-25
也可以把要保留的参数传送一下,看看