1. 作用
- ServletContextListener - 监听ServletContext对象的创建和销毁的过程
- HttpSessionListener - 监听HttpSession对象的创建和销毁的过程
- ServletRequestListener - 监听ServletRequest对象的创建和销毁的过程
- ServletContextAttributeListener - 监听ServletContext的保存作用域的改动(add,remove,replace)
- HttpSessionAttributeListener - 监听HttpSession的保存作用域的改动(add,remove,replace)
- ServletRequestAttributeListener - 监听ServletRequest的保存作用域的改动(add,remove,replace)
- HttpSessionBindingListener - 监听某个对象在Session域中的创建与移除
- HttpSessionActivationListener - 监听某个对象在Session域中的序列化和反序列化
2. 代码演示
package com.atguigu.myssm.listeners;
import com.atguigu.myssm.ioc.BeanFactory;
import com.atguigu.myssm.ioc.ClassPathXmlApplicationContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class ContextLoaderListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext application = servletContextEvent.getServletContext();
String path = application.getInitParameter("contextConfigLocation");
BeanFactory beanFactory = new ClassPathXmlApplicationContext(path);
application.setAttribute("beanFactory",beanFactory);
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
}
}