Filter和Listener-学习笔记04【监听器】
- Java后端 學(xué)習(xí)路線 筆記匯總表【黑馬程序員】
目錄
第4節(jié) 監(jiān)聽器
Listener_概述
Listener_ServletContextListener
監(jiān)聽器配置方式1:web.xml
監(jiān)聽器配置方式2:注解
第4節(jié) 監(jiān)聽器
Listener_概述
Listener:監(jiān)聽器
* 概念:web的三大組件之一。
?? ?* 事件監(jiān)聽機制
?? ??? ?* 事件:一件事情。
?? ??? ?* 事件源:事件發(fā)生的地方。
?? ??? ?* 監(jiān)聽器:一個對象。
?? ??? ?* 注冊監(jiān)聽:將事件、事件源、監(jiān)聽器綁定在一起。當(dāng)事件源上發(fā)生某個事件后,執(zhí)行監(jiān)聽器代碼。
* ServletContextListener:監(jiān)聽ServletContext對象的創(chuàng)建和銷毀
?? ?* 方法:
?? ??? ?* void contextDestroyed(ServletContextEvent sce) :ServletContext對象被銷毀之前,會調(diào)用該方法。
?? ??? ?* void contextInitialized(ServletContextEvent sce) :ServletContext對象創(chuàng)建后,會調(diào)用該方法。
Listener_ServletContextListener
Listener:監(jiān)聽器
* 概念:web的三大組件之一。
?? ?* 事件監(jiān)聽機制
?? ??? ?* 事件:一件事情。
?? ??? ?* 事件源:事件發(fā)生的地方。
?? ??? ?* 監(jiān)聽器:一個對象。
?? ??? ?* 注冊監(jiān)聽:將事件、事件源、監(jiān)聽器綁定在一起。當(dāng)事件源上發(fā)生某個事件后,執(zhí)行監(jiān)聽器代碼。
* ServletContextListener:監(jiān)聽ServletContext對象的創(chuàng)建和銷毀
?? ?* 方法:
?? ??? ?* void contextDestroyed(ServletContextEvent sce) :ServletContext對象被銷毀之前,會調(diào)用該方法。
?? ??? ?* void contextInitialized(ServletContextEvent sce) :ServletContext對象創(chuàng)建后,會調(diào)用該方法。
?? ?* 步驟:
?? ??? ?1. 定義一個類,實現(xiàn)ServletContextListener接口
?? ??? ?2. 復(fù)寫方法
?? ??? ?3. 配置
?? ??? ??? ?1. web.xml
?? ??? ??? ??? ?<listener>
?? ??? ??? ??? ??? ?<listener-class>cn.itcast.web.listener.ContextLoaderListener</listener-class>
?? ??? ??? ??? ?</listener>
?? ??? ??? ??? ?* 指定初始化參數(shù)<context-param>
?? ??? ??? ?2. 注解:
?? ??? ??? ??? ?* @WebListener
監(jiān)聽器配置方式1:web.xml
監(jiān)聽器配置方式2:注解
package cn.itcast.web.listener;import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; import java.io.FileInputStream;@WebListener public class ContextLoaderListener implements ServletContextListener {/*** 監(jiān)聽ServletContext對象創(chuàng)建的。ServletContext對象服務(wù)器啟動后自動創(chuàng)建。* <p>* 在服務(wù)器啟動后自動調(diào)用** @param servletContextEvent*/@Overridepublic void contextInitialized(ServletContextEvent servletContextEvent) {//加載資源文件//1.獲取ServletContext對象ServletContext servletContext = servletContextEvent.getServletContext();//2.加載資源文件String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation");//3.獲取真實路徑String realPath = servletContext.getRealPath(contextConfigLocation);//4.加載進(jìn)內(nèi)存try {FileInputStream fis = new FileInputStream(realPath);System.out.println(fis);} catch (Exception e) {e.printStackTrace();}System.out.println("ServletContext對象被創(chuàng)建了。。。");}/*** 在服務(wù)器關(guān)閉后,ServletContext對象被銷毀。當(dāng)服務(wù)器正常關(guān)閉后該方法被調(diào)用** @param servletContextEvent*/@Overridepublic void contextDestroyed(ServletContextEvent servletContextEvent) {System.out.println("ServletContext對象被銷毀了。。。");} }加油~
總結(jié)
以上是生活随笔為你收集整理的Filter和Listener-学习笔记04【监听器】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Filter和Listener-学习笔记
- 下一篇: JQuery-学习笔记01【基础——JQ