一、什么叫Listener
Listener用于监听JavaWeb程序中的事件。例如:ServletContext、HttpSession、ServletRequest的创建、修改和删除。Listener和JS中的事件处理机制类似。在JS中,当我们触发某个事件后(例如:点击一个按钮)程序会调用一个响应函数来处理事件。同样的,在JavaWeb中,我们可以为某些事件来设置监听器,当事件被触发时,监听器中的指定方法将会被调用。
二、创建Listener步骤
1.实现ServletContextListener、HttpSessionListener、ServletRequestListener中的一个或者多个接口
2.在web.xml文件中注册监听器
<listener>
<listener-class>com.atguigu.servlet.OrderListener</listener-class>
</listener>
三、Listener的生命周期(这里以ServletContextListener接口为例,其余两个类似)
1.创建Listener:contextInitialized()
执行时机:启动服务器时执行。
执行次数:在整个生命周期中,执行一次。
2.销毁操作:contextDestroyed()
执行时机:关闭服务器时执行。
执行次数:在整个生命周期中,执行一次。
简单来说就是所以启动服务器时我们会发现contextInitialized()方法被调用,服务器停止时contextDestroyed()方法被调用。
四、Web三大组件的加载顺序
Listener(最先执行)>Filter>Servlet(最后执行)