監聽器概述
所謂監聽器是指對整個WEB環境的監聽,當被監聽的對象發生改變時,立即調用相應的方法進行處理。
監聽器最常見的應用場景:
- Java SE GUI 程式設計
- Android手機開發程式設計
監聽器術語:
- 事件源:被監聽對象。(目标對象)
- 監聽器對象:用于監聽“事件源”的對象
- 注冊(綁定):将“監聽器對象”注冊給“事件源”。當“事件源”發生某些行為時,監聽對象将被執行。
- 事件:事件源行為的稱呼
- 事件對象:在“監聽器對象”中獲得“事件源”
監聽器編寫流程:
- 編寫監聽器實作類,需要實作指定的接口
- 在web.xml檔案配置監聽器(部分監聽不需要配置)
<listener>
<listener-class></listener-class>
</listener>
JavaEE規範規定了8個監聽器接口,用于監聽不同的WEB對象
- 監聽域對象建立與銷毀
- 監聽域對象屬性變更(添加、替換、删除)
- 監聽Session作用域特殊Javabean
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL1Y0RidXOxglZSdkY25kMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzMzM3UTOxkTM5ETOwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
- ServletRequest對象監聽:
Listener--監聽器的分類、功能及API詳解 Listener--監聽器的分類、功能及API詳解 - HttpSession對象監聽:
Listener--監聽器的分類、功能及API詳解 Listener--監聽器的分類、功能及API詳解 - ServletContext對象監聽:
Listener--監聽器的分類、功能及API詳解 Listener--監聽器的分類、功能及API詳解 - 監聽request作用域屬性:
Listener--監聽器的分類、功能及API詳解 Listener--監聽器的分類、功能及API詳解 - 監聽Session作用域屬性:
Listener--監聽器的分類、功能及API詳解 Listener--監聽器的分類、功能及API詳解 - 監聽servletContext作用域:
Listener--監聽器的分類、功能及API詳解 Listener--監聽器的分類、功能及API詳解
特殊Javabean在Session作用域
特殊的兩個監聽器不需要在web.xml配置,其它6個都需要配置
- **綁定和解綁:**實作指定接口javabean,從session作用域存放或異常監聽
Listener--監聽器的分類、功能及API詳解 Listener--監聽器的分類、功能及API詳解 - 鈍化和活化:
Listener--監聽器的分類、功能及API詳解 Listener--監聽器的分類、功能及API詳解