listener主要完成的工作是对于三大作用域的监听
1、监听作用域的生命周期
ServletContextListener
HttpSessionListener
ServletRequestListener
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import java.util.Map;
@WebListener
public class CustomServletContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("监听到服务器启动");
//数据字典gender
Map<Integer, String> gender = Map.of(1, "男", 2, "nv", 3, "保密");
sce.getServletContext().setAttribute("gender",gender);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("监听到服务器关闭");
}
}
2、监听作用域的属性改变
setAttribute( String ,object);
removeAttribute( String );
ServletContextAttributeListener
HttpSessionAttriuteListener
ServletRequestAttributeListener
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class CustomServletContextAttributeListener implements ServletContextAttributeListener {
@Override
public void attributeAdded(ServletContextAttributeEvent scae) {
System.out.println("add");
}
@Override
public void attributeReplaced(ServletContextAttributeEvent scae) {
System.out.println("replace");
}
@Override
public void attributeRemoved(ServletContextAttributeEvent scae) {
System.out.println("remove");
}
}