servlet監(jiān)聽器用于監(jiān)聽一些重要事件的發(fā)生饶碘,監(jiān)聽器對(duì)事件發(fā)生前后進(jìn)行修改笨腥。
- 監(jiān)聽器的作用是監(jiān)聽信息的初始化拓哺,銷毀,增加脖母,修改和刪除等士鸥。
- 監(jiān)聽器的注冊(cè)和調(diào)用由容器(如tomcat等)自動(dòng)完成,被監(jiān)聽對(duì)象創(chuàng)建谆级,修改烤礁,刪除,銷毀等事件時(shí)肥照,容器調(diào)用與之相關(guān)的方法脚仔,用戶在這些方法中編寫事件處理代碼即被執(zhí)行。
- Listener是servlet的監(jiān)聽器:
- 可以監(jiān)聽客戶端的請(qǐng)求和服務(wù)端的操作等舆绎。
- 可以通過監(jiān)聽器自動(dòng)進(jìn)行一些操作玻侥。如:統(tǒng)計(jì)在線用戶數(shù)量,每增加一個(gè)session時(shí)亿蒸,在線人數(shù)+1凑兰。
- 一個(gè)web.xml 可以注冊(cè)多個(gè)servlet事件監(jiān)聽器。 web服務(wù)器按照監(jiān)聽器在文件中的順序進(jìn)行注冊(cè)和監(jiān)聽边锁。
監(jiān)聽器的分類
按照監(jiān)聽對(duì)象劃分:
- 監(jiān)聽?wèi)?yīng)用程序環(huán)境對(duì)象(ServletContext)的事件監(jiān)聽器姑食。
- 監(jiān)聽用戶會(huì)話對(duì)象(httpSession)的事件監(jiān)聽器。
- 監(jiān)聽請(qǐng)求對(duì)象(ServletRequest)的事件監(jiān)聽器茅坛。
其中音半,Context對(duì)應(yīng)所有用戶则拷;Session對(duì)應(yīng)于一個(gè)用戶;Request對(duì)應(yīng)于當(dāng)前請(qǐng)求曹鸠。
監(jiān)聽器的部署
- 部署在
web.xml
中煌茬。
<listener>
<listener-class>org.liyubo.MyListener</listener-class>
</listener>
- 使用注解
@WebListener
。
監(jiān)聽器里面的方法
三類監(jiān)聽器內(nèi)的方法