day08【Filter与Listener】–Listener
listener概述
(1)什么是监听器?
Listener是用来监听域对象
监听某种对象的状态,并编写对应的处理代码
(2)域对象
HttpServletContext HtttpSession HttpRequest HttpPageContext
(2)类比
班主任监听同学的状态
(3)监听器有哪些?
Listener监听域对象创建和销毁 生死
Listener监听域对象属性的变化 变化
listener的使用
(1)idea创建监听器
项目启动时创建了ServletContext,监听器监听到了执行contextinitial方法,自动执行处理代码,项目关闭时监听器会及时捕获到它的状态,执行contextdestroyed方法
(2)类比 Servlet与Filter
Timer的使用
定时器
@WebListener()
public class Demo1Listener implements ServletContextListener{
public Demo1Listener() {
}//这个方法用来监听ServletContext域的创建/*这个域:服务器启动时创建*/public void contextInitialized(ServletContextEvent sce) {
//设置一个定时器Timer timer = new Timer();timer.schedule(new TimerTask() {
@Overridepublic void run() {
try {
System.out.println("--定时发送邮件");} catch (Exception e) {
e.printStackTrace();}}}, 5000, 2000);System.out.println("ServletContext域的创建啦");}//这个方法用来监听ServletContext域的销毁/*这个域:服务器关闭时销毁*/public void contextDestroyed(ServletContextEvent sce) {
System.out.println("ServletContext域销毁啦");}}