22-监听器
一、 事件監聽
1. 在程序中經常會用到事件監聽機制
2. 關鍵字:
事件: 用戶的一個操作, 可以是點擊一個按鈕、調用一個方法、創建一個對象
事件源: 發生事件的對象
事件監聽器: ?負責監聽發生在事件源上的事件
事件處理器:? 監聽器的成員方法,當事件發生的時候會觸發對應的處理器(成員方法)
3. 事件處理機制
??? 1) 將監聽器綁定到事件源
??? 2) 事件發生觸發監聽器的成員方法,即事件處理器,傳遞事件對象
??? 3) 事件處理器通過事件獲得事件源,進行處理
4. 做事件監聽一般都需要做兩件事情
??? 1) 寫一個類實現監聽器接口
??? 2) 將監聽器注冊到事件源上
?
二、 servlet事件監聽器
1. 在Servlet 技術中主要有三類事件監聽器:
?
1) 監聽三個域對象的創建和銷毀
??? ServletContextListener、HttpSessionListener、HttpServletRequestListener
??? 三個監聽器都是接口類型
?
??? public interface ServletContextListener
??? {
?????? // 事件處理器
?????? init
???
?
?????? destroy
??? }
??? web應用啟動時, web 容器會將所有的監聽器都實例化,并綁定到對應的事件源上
???
2) 監聽三個域對象中屬性的變化(增加、刪除和替換)
??? setAttribute?? getAttribute? removeAttribute
??? ServletContextAttributeListener,
??? HttpSessionAttributeListener
??? ServletRequestAttributeListener
?
??? 處理器
attributeAdded
attributeReplaced
attributeRemoved
?
3) 感知對象被綁定到session域
??? HttpSessionBindingListener
??? 該接口由javabean對象來實現
??? 該監聽器不需要注冊
?
案例: 統計來訪者的ip? ServletRequestListener
??? ?? 統計在線人數? HttpSessionListener
??? ??? 統計在線用戶? HttpSessionBindingListener
??????? session定時掃描器? HttpSessionListener
?
總結
- 上一篇: 巴铁接收新款哈立德坦克
- 下一篇: 立秋什么时候吃西瓜?