-
銷毀:1.關(guān)閉服務(wù)器;2.關(guān)閉瀏覽器一段時間直到session過期;3.不關(guān)閉瀏覽器,session過期
查看全部 -
HttpSession的創(chuàng)建與銷毀
查看全部 -
ServletContext的創(chuàng)建與銷毀
查看全部 -
監(jiān)聽域?qū)ο笞陨淼膭?chuàng)建和銷毀的事件監(jiān)聽器
查看全部 -
監(jiān)聽器的啟動順序
查看全部 -
web監(jiān)聽器
查看全部 -
監(jiān)聽器用途查看全部
-
監(jiān)聽器查看全部
-
、監(jiān)聽綁定到HttpSession域中的某個對象的狀態(tài)的事件監(jiān)聽器<br>
鈍化:1,由Session.StandardManager:Tocat服務(wù)器關(guān)閉或Web應(yīng)用程序被重新加載時把當(dāng)前內(nèi)存中的Session序列化到文件或數(shù)據(jù)庫中。<br>
2,由Session.Persistentmanager:除了1,中的兩種,第3種可以將不常用的Session序列化到文件或數(shù)據(jù)庫中。<br>
(默認(rèn)Tocat兩種鈍化驅(qū)動:org.apache.Catalina.FileStore和org.apache.Catalina.JDBCStore)<br>
活化:服務(wù)器啟動是把鈍化的Seesion反序列化到服務(wù)器上
前提:先綁定session<br>? 綁定就是session.setAttribute()把屬性保存到Session對象當(dāng)中,解除綁定:session.getAttribute()
(1)HttpSession【Binding】Listener //綁定、解除綁定<br>
a) 創(chuàng)建一個javabean類,實現(xiàn)接口【HttpSessionBindingListener,】無需到Web.xml注冊<br>
b) 2個方法<br>
1) void valueBound 綁定 JSP: request.getsession.setattribute("ab",new javabean全名);<br>
2) void valueUnbound 解除綁定 JSP: request.getsession().removeAttribute("ab")<br>
(2)HttpSessionActivationListener //鈍化(持久化到存儲設(shè)備時)、活化(從存儲設(shè)備恢復(fù))<br>
a) 在已經(jīng)創(chuàng)建的javabean類,實現(xiàn)接口HttpSessionActivationListener無需到Web.xml注冊<br>
b) 2個方法<br>
1) void sessionWillPassivate 鈍化 JSP: 無需寫,前提javabean進(jìn)行綁定了<br>
2) void sessionDidActivate 活化 JSP:request.getSession.getAttribute("ab");<br>
需要【活化必須】再繼承一個接口:【Serializable】public void valueBound(HttpSessionBindingEvent arg0) {
System.out.println("valueBound:" + arg0.getName());
}
public void valueUnbound(HttpSessionBindingEvent arg0) {
System.out.println("valueUnbound:" + arg0.getName());
}
// 活化
public void sessionDidActivate(HttpSessionEvent se) {
System.out.println("sessionDidActivate:" + se.getSource());
}
// 鈍化
public void sessionWillPassivate(HttpSessionEvent se) {
System.out.println("sessionWillPassivate:" + se.getSource());
}
要想實現(xiàn)鈍化和活化,除了需實現(xiàn)HttpSessionActivationListener接口還需要實現(xiàn)Serializable接口。查看全部 -
1
查看全部 -
1
查看全部 -
1
查看全部 -
@init.jsp <% request.setAttribute("requestName", "requestValue"); request.getSession().setAttribute("sessionName", "sessionValue"); request.getSession().getServletContext().setAttribute("applicationName", "applicationValue"); //request.setAttribute("requestName", "requestValue");//只有這種辦法可以調(diào)用request的replace。 //request.removeAttribute("requestName");//可以調(diào)用request的remove。 %> 初始化值的界面 @destory.jsp <% request.removeAttribute("requestName"); request.getSession().removeAttribute("sessionName"); request.getSession().getServletContext().removeAttribute("applicationName"); %> 銷毀的界面 Ps1: request.getAttribute的值獲得是從request.setAttribute的值,不能獲取類似www.immoc.com/username=imooc的參數(shù)值; request.getParameter是請求的參數(shù)值,如www.immoc.com/username=imooc。 Ps2: request——request request.getSession()——session request.getSession().getServletContext()——application
查看全部 -
ServletRequest的事件監(jiān)聽器 實現(xiàn)ServletRequestListener接口用于監(jiān)聽它的創(chuàng)建和銷毀事件 一個ServletRequest可以注冊多個ServletRequestListener接口, 有兩個事件處理方法: requestInitialized方法: public void requestInitialized(ServletRequestEvent sre) request創(chuàng)建時調(diào)用 參數(shù)ServletRequestEvent可以獲取ServletRequest對象 ServletRequest sr = sre.getServletRequest() 進(jìn)而獲取初始化參數(shù):sr.getInitParmeter("") requestDestroyed方法: public void requestDestroyed(ServletRequestEvent sre) request銷毀時調(diào)用 ServletRequest的主要用途: 讀取參數(shù) 記錄訪問歷史 request監(jiān)聽的是用戶的每一個訪問請求
查看全部 -
<session-config> <!-- 設(shè)定超時銷毀時間(分鐘) 然而這個時間并不精確,而且當(dāng)為0的時候表示無超時銷毀--> <session-timeout>1</session-timeout> </session-config> session 失效的三種場景 1.關(guān)閉服務(wù)器 2.關(guān)閉瀏覽器,一段時間后,session自動消失 3.seesion 超時 HttpSession的創(chuàng)建和銷毀 實現(xiàn)HttpSessionListener接口用于監(jiān)聽它的創(chuàng)建和銷毀事件 一個HttpSession可以注冊多個HttpSessionListener接口, 一個web應(yīng)用中可以有多個HttpSession對象 有兩個事件處理方法: sessionCreated方法: public void sessionCreated(HttpSessionEvent se) session創(chuàng)建時調(diào)用 sessionDestroyed方法: public void sessionDestroyed(HttpSessionEvent se) session銷毀時調(diào)用 HttpSessionListener的主要用途: 統(tǒng)計在線人數(shù) 記錄訪問日志,記錄訪問時間、訪問的ip /** * 銷毀session * 1.關(guān)閉服務(wù)器 * 2.關(guān)閉瀏覽器 * 3.不關(guān)閉瀏覽器,session超時 */ 不關(guān)閉瀏覽器,session超時 可以在web.xml配置session超時的時間 <session-config> <session-timeout>0</session-timeout> </session-config> 0:session沒有超時的限制 1:session超時1分鐘后銷毀,但是并不是準(zhǔn)確的一分鐘
查看全部
舉報