请问在java web中注销session有几种方法?

JavaScript0117

请问在java web中注销session有几种方法?,第1张

第一种:直接关闭浏览器即可注销session,session是会话级别的,也就是说会话结束,那么session注销;

第二种:session.remove("buser"),通过remove方法直接删除不需要的session‘

第三种:设置timeOut,之后超过设置的时间session自动注销。

这样应该很难实现的.但可以想一起不常用的办法.

首先,session是用户级的一个全局变量,也就是说不管你是子页还是父页都是一样的session,而不会存在什么子页的session或是父页的session,它们是一个,不管你有多少个页面在未超时的情况下都是一个session的.

所以,这样你可以让你的存活时间改为0,也就是只有浏览器打开时是存活的,浏览器关闭时即可关闭就可以了.不知道你是出于什么样的目的来做这个代码的.

当然,因为是用户级的,所以如果设置时间为0时,所有的用户都是一样的.如果想实现某一个用户关闭就关闭时,不能这样设置的.一个例子,所有的用户都是关闭网页时30分钟取消session,这个值的设置是在application,站在了服务端的全局,所以不能对特定的一个用户进行设置的.虽然可以使用页面中,页面级可以,但用户级,还是特定用户时,可以使用session来做一下.

用户打开一个页面时,用session("pagecount")赋值为1,当然再打开一个就加1,这样可以统计当前用户打开了多少个页面的.关闭一个就减1.

判断一下你这个是否是那个特殊的用户,若是,则检查其session("pagecount"),如果这个值是1时,在关闭时可以直接清除session,若不是1时,将其值减1,这样做的目的,只是对于特定用户进行的有效清除.

当然,如果是所以用户都是这样子的话,一定要用timeout进行设置,这样非常方便.

在打开一个浏览器中可以这样写:

if

isnull(session("pagecount"))

then

session("pagecount")=1

else

session("pagecount")=session("pagecount"+1)

end

if

关闭浏览器的事件中可以这样写:

if

session("pagecount")

=

1

then

'这里清除session

else

session("pagecount")

=

session("pagecount")-1

end

if

这样可以实现当关闭最后一个窗口时清除session.当然,这些还要加上对用户的判断,可以实现对特定用户用行特定清除.而不是所有用户.

还打可实现,关闭第一个页面时进行清除,比如用户打了第一个页面,用session变量记录下来,关闭时检查是否为记录的页面,若是,则清除session或者干些其他的事.