1. 程式人生 > >線上人數統計,解決了關閉瀏覽器視窗,釋放session的問題

線上人數統計,解決了關閉瀏覽器視窗,釋放session的問題

在頁面裡頁設定一個退出按鈕.呼叫quit.jsp=
它的內容是:h>
我們用一個quit.jsp來處理使用者退出系統的操作,quit.jsp負責登出session,及時釋放資源。>D6T
©達內科技論壇 -- 達內科技論壇  uj&B
  ·登出session。Z5K&
©達內科技論壇 -- 達內科技論壇  ##
  ·關閉瀏覽器視窗。@Q(
©達內科技論壇 -- 達內科技論壇  TP^wA
  其程式碼如下所示:"
©達內科技論壇 -- 達內科技論壇  IWeVHc
1. <%@ page contentType="text/html; charset=GBK" %>z
2. <%E
3.  session.invalidate();F"[}H

4. %>A
5. <script language="javascript" >4_
6.  window.opener = null;`ngL
7.  window.close();M|j%
8. </script> OnZH?
©達內科技論壇 -- 達內科技論壇  3-L-
  其中第3行負責登出session,原先放入session的物件將解繫結,等待垃圾回收以釋放資源。對於本例而言,session中有一個名為ses_userBean的userBean物件(它是在switch.jsp中放入session的),呼叫session.invalidate()後,userBean從session中解繫結,它的valueUnbound()方法會被觸發呼叫,然後再等待垃圾回收。A/cr

©達內科技論壇 -- 達內科技論壇  +Nb
  第5~8行是一段javascript指令碼程式,負責關閉視窗,如果網頁不是通過指令碼程式開啟的(window.open()),呼叫window.close()指令碼關閉視窗前,必須先將window.opener物件置為null,如第6行所示,否則瀏覽器會彈出一個確定關閉的對話方塊,筆者發現這個問題困擾了不少的Web程式設計師,故特別指出。