javaWeb中的監聽器
事件源:三大域
ServletContext
生命週期監聽:①ServletContextListener 有兩個方法——一個在出生時(服務啟動時)呼叫,一個在死亡前(伺服器關閉前 )呼叫
- void contextInitialized(ServletContextEvent sce) :服務啟動時
- void contextDestroyed(ServletContextEvent sce) :伺服器關閉前
屬性監聽:②ServletContextAttributeListener 有3個方法——一個在新增屬性時呼叫,一個在替換屬性時呼叫,一個在移除屬性時呼叫
- void attributeAdded(ServletContextAttributeEvent scab)
- void attributeRemovewd(ServletContextAttributeEvent scab)
- void attributeReplaced(ServletContextAttributeEvent scab)
HttpSession
生命週期監聽:③HttpSessionListener 有兩個方法——一個在出生時(session建立時)呼叫,一個在死亡前(session消亡前)呼叫
- sessionCreated(HttpSessionEvent event):session建立時
- void sessionDestroyed(HttpSessionEvent event) :session消亡前
屬性監聽:④HttpSessionAttributeListener 有3個方法——一個在新增屬性時呼叫,一個在替換屬性時呼叫,一個在移除屬性時呼叫
-
void attributeAdded(ServletSessionBindingEvent event)
-
void attributeRemovewd(ServletSessionBindingEvent event)
-
void attributeReplaced(ServletSessionBindingEvent event)
ServletRequest
生命週期監聽:⑤ServletRequestListener 有兩個方法——一個在出生時(request建立時)呼叫,一個在死亡時(request消亡時)呼叫
- void requestCreated(ServletRequestEvent se) :request建立時
- void requestDestroyed(ServletRequesEvent se):request消亡時
屬性監聽:⑥ServletRequestAttributeListener 有3個方法——一個在新增屬性時呼叫,一個在替換屬性時呼叫,一個在移除屬性時呼叫
- void attributeAdded(ServletRequestAttributeEven srae)
- void attributeRemovewd(ServletRequestAttributeEven sra
e)
- void attributeReplaced(ServletRequestAttributeEven srae)
事件物件:
- ServletContextEvent 中的方法 getServletContext()
- HttpSessionEvent 中的方法 getHttpSession()
- ServletRequestEvent 中的的方法 getServletRequest()和getServletContext()
- ServletContextAttributeEvent 中的方法getServletContext()、getName()、getValue() 注意這裡獲取的是老值
- ServletSessionBindingEvent 中的方法getServleSession()、getName()、getValue() 意這裡獲取的是老值
- ServletRequestAttributeEvent 中的方法getServleREquest()、getName()、getValue() 意這裡獲取的是老值
上述已經介紹了6個監聽器(介面)了,及其方法已經方法中引數的方法
下面,再來介紹另兩個監聽器
感知監聽器:事件源:Javabean
⑦HttpSessionBindingListener 這個監聽器是監聽javaBean的,他的作用是用來檢視javabean是否被session新增或移除
用法:讓javaBean去實現HttpSessionBindingListener ,並實現其中的兩個方法
- void valueBound(HttpSessionBindingEvent event) :Javabean被繫結到 Session
的時候呼叫 - void valueUnbound(HttpSessionBindingEvent event) : Javabean從 Session
解綁的時候呼叫。
⑧HttpSessionActiveationListener(瞭解)
Tomcat會在session從時間不被使用時鈍化session物件,所謂鈍化session,就是把session通過序列化的方式儲存到硬碟檔案中。
當使用者再使用session時,Tomcat還會把鈍化的物件再活化session,所謂活化就是把硬碟檔案中的session在反序列化回記憶體。
當session被Tomcat鈍化時,session中儲存的物件也被純化,當session被活化時,也會把session中儲存的物件活化。如果某個類實現了HttpSessionActiveationListener介面後,當物件隨著session被鈍化和活化時,下面兩個方法就會被呼叫:
- public void sessionWillPassivate(HttpSessionEvent se):當物件感知被活化時呼叫本方法;
- public void sessionDidActivate(HttpSessionEvent se):當物件感知被鈍化時呼叫本方法;
相關文章
- 【JavaWeb】EL表示式&過濾器&監聽器JavaWeb過濾器
- 使用監聽器實現JavaWeb的定時執行JavaWeb
- Web中的監聽器【Listener】Web
- JavaWeb之Servlet、攔截器、監聽器及程式設計思想JavaWebServlet程式設計
- javaweb使用監聽器實現定時週期性執行任務的功能JavaWeb
- passive 的事件監聽器事件
- Laravel 中的事件監聽Laravel事件
- Web中的監聽器【Listener】與過濾器【Filter】 例項Web過濾器Filter
- Spring中如何優雅的使用監聽器模式Spring模式
- Oracle監聽器中的XDB、XPT和PLSExtProc服務Oracle
- 監聽器中spring注入相關的問題Spring
- oracle 監聽器配置Oracle
- JS事件監聽器JS事件
- 監聽器和過濾器過濾器
- Spring Boot 中動態管理 Kafka 監聽器Spring BootKafka
- Android Service 服務的應用之電話監聽器以及簡訊監聽器Android
- 如何更改oracle監聽器的埠Oracle
- 事件和事件監聽器事件
- 如何移除事件監聽器事件
- 遠端控制監聽器
- 27、監聽器學習
- oracle 監聽器學習Oracle
- 伺服器端監聽器配置伺服器
- (譯文)swift中的監聽者Swift
- vuex中的state在元件中如何監聽?Vue元件
- JavaWeb 中 Filter過濾器JavaWebFilter過濾器
- JavaWeb的監控系統JavaWeb
- 監聽瀏覽器的後退事件瀏覽器事件
- 安卓使用物理鍵監聽器安卓
- 說說Oracle監聽器(一)Oracle
- 說說Oracle監聽器(二)Oracle
- Oracle 監聽器日誌解析Oracle
- oracle例項和監聽器Oracle
- [摘]Java EE Servlet監聽器JavaServlet
- 過濾器和監聽器總結過濾器
- web app 中物理返回鍵的監聽WebAPP
- 監聽中sqlnet.ora的作用SQL
- 關於Servlet中的事件監聽 薦Servlet事件