-
@Listener---HttpSession域中的對象狀態的事件監聽器
HttpSessionBindingListener
????綁定:valueBound方法
????解除綁定:valueUnbound方法
HttpSessionActivationListener
????鈍化:sessionWillPassivate方法
????活化:sessionDidActivate方法查看全部 -
小知識點:
request的getAttribute()和getParameter()區別:
request.getAttribute()只能通過 request.setAttribute("name",參數)來獲取;
reques.getParameter()則通過URL參數,或前鏈接頁面關系的參數來獲取查看全部 -
@Listener---監聽器對象的屬性的事件監聽器
ServletContextAttributeListener
HttpSessionAttributeListener
ServletRequestAttributeListener查看全部 -
@Listener---ServletRequest的事件監聽器
創建和銷毀:
一個ServletRequest可以注冊多個ServletRequestListener接口。有兩個事件處理方法:
requestInitialized方法:
????public void requestInitialized(ServletRequestEvent sre)
????request創建時調用,獲取ServletRequest對象和傳遞的參數。
requestDestroyed方法:
????ublic void requestDestroyed(ServletRequestEvent sre)
????request銷毀時調用
主要用途:
????讀取參數
????記錄訪問歷史
request監聽的是用戶的每一個訪問請求。查看全部 -
@Listener---HttpSession的事件監聽器
創建和銷毀:
實現HttpSessionListener接口用于監聽它的創建和銷毀事件
一個HttpSession可以注冊多個HttpSessionListener接口,
一個web應用中可以有多個HttpSession對象 。
有兩個事件處理方法:
sessionCreated方法:
????public void sessionCreated(HttpSessionEvent se)
?? session創建時調用
sessionDestroyed方法:
????public void sessionDestroyed(HttpSessionEvent se)
????session銷毀時調用
主要用途:
????統計在線人數
????記錄訪問日志,記錄訪問時間、訪問的ip
/**
* 銷毀session
* 1.關閉服務器
* 2.關閉瀏覽器
* 3.不關閉瀏覽器,session超時
*/
不關閉瀏覽器,session超時
可以在web.xml配置session超時的時間<session-config> ????<session-timeout>0</session-timeout> </session-config>
0:session沒有超時的限制
1:session超時1分鐘后銷毀,但是并不是準確的一分鐘查看全部 -
@Listener---ServletContext的事件監聽器
創建和銷毀
實現ServletContextListener接口用于監聽它的創建和銷毀事件
一個項目中可以有多個ServletContextListener,但是只有一個ServletContext對象。
有兩個事件處理方法:
contextInitialized方法:
????public void contextInitialized( ServletContextEvent sce )
????ServletContext創建時調用,獲取ServletContext對象和初始化參數。
contextDestroyed方法:
????public void contextDestroyed( ServletContextEvent sce )
????ServletContext銷毀時調用,數據庫鏈接關閉時釋放一些資源,以免過度的占用。主要用途:
????定時器
????全局屬性對象例如:
1.獲取ServletContext對象: ServletContext sc = sce.getServletContext();
獲取初始化參數:sc.getInitParmeter("參數名稱");
初始化參數在web.xml中配置:<context-param> ????<param-name>initParam</param-name> ????<param-value>imooc</param-value> </context-param>
2.設置ServletContext屬性:sc.setAttribute("name",obj);
然后在其它地方獲取getAttribute("name")查看全部 -
@Listener---監聽器分類
1.按監聽器的對象劃分
????a 用戶監聽應用程序環境對象(ServletContext)的事件監聽器
????b 用于監聽用戶會話對象(HttpSession)的事件監聽器
????c 用于監聽請求消息對象(ServletRequest)的事件監聽器。2.按事件劃分
????a 監聽域對象自身的創建和銷毀的事件監聽器
????b 監聽域對象中的屬性的增加和刪除的事件監聽器
????c 監聽綁定到HttpSession域中的某個對象的狀態的事件監聽器查看全部 -
@JavaWeb---監聽器的啟動順序
優先級:Listener》Filter》Servlet
一個web.xml下可配置多個監聽器。
查看全部 -
@Listener---監聽器的用法
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()獲取參數值
request.getparameter();????可以通過URL傳參獲取參數值
查看全部 -
@Listener---監聽器的用途
1,統計在線人數和在線用戶。
2,系統啟動時加載初始化信息。
3,統計網站訪問量。
4,跟Spring結合。查看全部 -
session 鈍化機制
查看全部 -
監聽器綁定到HttpSession域中的某個對象的狀態的事件監聽器
查看全部 -
監聽域對象中的屬性的增加和刪除的事件監聽器
查看全部 -
ServletRequest的創建與銷毀
查看全部
舉報