jsp 监听 session

JavaScript011

jsp 监听 session,第1张

您好,session的存在和失效很难控制`

我当初是写了一个JS`每隔一段时间判断该session是否存在。勉强能用一下.大概也就这个办法`

function checkSession(){

if(<%=session.getAttribute("xxx")%>==null){

alert("session失效")

}

setTimeout("checkSession()",2000)

}

一般的, session 是通过 cookie 来维持的, cookie 的名字可以通过配置指定一个名称

<sessionState

mode="[Off|InProc|StateServer|SQLServer|Custom]"

timeout="number of minutes"

cookieName="session identifier cookie name"

cookieless=

"[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"

regenerateExpiredSessionId="[True|False]"

sqlConnectionString="sql connection string"

sqlCommandTimeout="number of seconds"

allowCustomSqlDatabase="[True|False]"

useHostingIdentity="[True|False]"

stateConnectionString="tcpip=server:port"

stateNetworkTimeout="number of seconds"

customProvider="custom provider name">

<providers>...</providers>

</sessionState>

在 js 中可以判断这个名称的 cookie 是否存在.

function getCookie(name) {

var cookies = document.cookie.split("")

for (var i = 0i <cookies.length++i) {

var a = cookies[i].split("=")

if (a.length == 2) {

a[0] = a[0].trim()

a[1] = a[1].trim()

if (a[0] == name) {

return unescape(a[1])

}

}

}

return ""

}

js是前端脚本,如果您的后台没有监听进行判断session是否销毁的话,可以利用ajax技术,dwr或者jQuery这样的ajax方式向后台发送请求,在java中来判断session是否还存在,返回回来一个状态,页面接收到后通过状态来对页面进行操作.