-
@Listener---HttpSession域中的對象狀態(tài)的事件監(jiān)聽器
HttpSessionBindingListener
????綁定:valueBound方法
????解除綁定:valueUnbound方法
HttpSessionActivationListener
????鈍化:sessionWillPassivate方法
????活化:sessionDidActivate方法查看全部 -
小知識點:
request的getAttribute()和getParameter()區(qū)別:
request.getAttribute()只能通過 request.setAttribute("name",參數(shù))來獲??;
reques.getParameter()則通過URL參數(shù),或前鏈接頁面關(guān)系的參數(shù)來獲取查看全部 -
@Listener---監(jiān)聽器對象的屬性的事件監(jiān)聽器
ServletContextAttributeListener
HttpSessionAttributeListener
ServletRequestAttributeListener查看全部 -
@Listener---ServletRequest的事件監(jiān)聽器
創(chuàng)建和銷毀:
一個ServletRequest可以注冊多個ServletRequestListener接口。有兩個事件處理方法:
requestInitialized方法:
????public void requestInitialized(ServletRequestEvent sre)
????request創(chuàng)建時調(diào)用,獲取ServletRequest對象和傳遞的參數(shù)。
requestDestroyed方法:
????ublic void requestDestroyed(ServletRequestEvent sre)
????request銷毀時調(diào)用
主要用途:
????讀取參數(shù)
????記錄訪問歷史
request監(jiān)聽的是用戶的每一個訪問請求。查看全部 -
@Listener---HttpSession的事件監(jiān)聽器
創(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)用
主要用途:
????統(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)確的一分鐘查看全部 -
@Listener---ServletContext的事件監(jiān)聽器
創(chuàng)建和銷毀
實現(xiàn)ServletContextListener接口用于監(jiān)聽它的創(chuàng)建和銷毀事件
一個項目中可以有多個ServletContextListener,但是只有一個ServletContext對象。
有兩個事件處理方法:
contextInitialized方法:
????public void contextInitialized( ServletContextEvent sce )
????ServletContext創(chuàng)建時調(diào)用,獲取ServletContext對象和初始化參數(shù)。
contextDestroyed方法:
????public void contextDestroyed( ServletContextEvent sce )
????ServletContext銷毀時調(diào)用,數(shù)據(jù)庫鏈接關(guān)閉時釋放一些資源,以免過度的占用。主要用途:
????定時器
????全局屬性對象例如:
1.獲取ServletContext對象: ServletContext sc = sce.getServletContext();
獲取初始化參數(shù):sc.getInitParmeter("參數(shù)名稱");
初始化參數(shù)在web.xml中配置:<context-param> ????<param-name>initParam</param-name> ????<param-value>imooc</param-value> </context-param>
2.設(shè)置ServletContext屬性:sc.setAttribute("name",obj);
然后在其它地方獲取getAttribute("name")查看全部 -
@Listener---監(jiān)聽器分類
1.按監(jiān)聽器的對象劃分
????a 用戶監(jiān)聽?wèi)?yīng)用程序環(huán)境對象(ServletContext)的事件監(jiān)聽器
????b 用于監(jiān)聽用戶會話對象(HttpSession)的事件監(jiān)聽器
????c 用于監(jiān)聽請求消息對象(ServletRequest)的事件監(jiān)聽器。2.按事件劃分
????a 監(jiān)聽域?qū)ο笞陨淼膭?chuàng)建和銷毀的事件監(jiān)聽器
????b 監(jiān)聽域?qū)ο笾械膶傩缘脑黾雍蛣h除的事件監(jiān)聽器
????c 監(jiān)聽綁定到HttpSession域中的某個對象的狀態(tài)的事件監(jiān)聽器查看全部 -
@JavaWeb---監(jiān)聽器的啟動順序
優(yōu)先級:Listener》Filter》Servlet
一個web.xml下可配置多個監(jiān)聽器。
查看全部 -
@Listener---監(jiān)聽器的用法
1.編寫java程序
public?class?FirstListener?implements?ServletContextListener?{? ????@Override? ????public?void?contextInitialized(ServletContextEvent?sce)?{?? ????????System.out.println("contextInitialized");? ????}? ????@Override? ????public?void?contextDestroyed(ServletContextEvent?sce)?{?? ????????System.out.println("contextDestroyed");? ????} }
2.配置web.xml
<listener> ????<listener-class>onetry.Listener.FirstListener</listener-class> </listener>
查看全部 -
request.getAttributs();????只能通過request.setAttribute()獲取參數(shù)值
request.getparameter();????可以通過URL傳參獲取參數(shù)值
查看全部 -
@Listener---監(jiān)聽器的用途
1,統(tǒng)計在線人數(shù)和在線用戶。
2,系統(tǒng)啟動時加載初始化信息。
3,統(tǒng)計網(wǎng)站訪問量。
4,跟Spring結(jié)合。查看全部 -
session 鈍化機(jī)制
查看全部 -
監(jiān)聽器綁定到HttpSession域中的某個對象的狀態(tài)的事件監(jiān)聽器
查看全部 -
監(jiān)聽域?qū)ο笾械膶傩缘脑黾雍蛣h除的事件監(jiān)聽器
查看全部 -
ServletRequest的創(chuàng)建與銷毀
查看全部
舉報