現(xiàn)在有一個辦法可以讓關(guān)閉瀏覽的時候就,就讓它釋放內(nèi)存空間。
看了EE文檔發(fā)現(xiàn),有一個叫做“invalidate”的方法,HttpSession對象去調(diào)用這個方法也就銷毀了HttpSession的實例
public ActionForwardexecute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession(false);
if (session!=null) {
session.invalidate();
System.out.println("session.invalidate()---session已經(jīng)銷毀");
}
returnnull;//這個地方是禁止使用finnForward()這個方法的,因為如果使用這個方法,Struts就又創(chuàng)建了一個HttpSession對象了,或者是寫成response.sendRedirect();,反正就是不能轉(zhuǎn)交給Struts的動作ActionServlet
}
下面就是,我針對的是窗口操作,要關(guān)閉窗口,就是說如何讓某一個東西來觸發(fā)這個方法,可以在頁面的body標簽里面加入一個onunload屬性,也就是說當我把窗口關(guān)閉時,會觸發(fā)一些函數(shù),就讓這個函數(shù)類調(diào)用Action。
下面是js的代碼?! f (navigator.appName == "Netscape"){
if ((windows.innerWidth<0)&&(windows.innerHeight<0)){
newWindow = window.open("invalidateSession.do",null,"height=10,widt[]h=10");
newWindow.close();
}
} else if (navigator.appName == "Microsoft Internet Explorer"){
if((window.event.clientX<0)&&(window.event.clientY<0)) {
newWindow= window.open("invalidateSession.do",null,"height=10,width=10");

newWindow.close();
}
}
最后把這個代碼貼到function中,在body中加載這個函數(shù)就行了
愛華網(wǎng)



