java web三大组件:servlet,listener,filter。
java web中的监听器
事件源:三大域!
- servletContext
- HttpSession
- ServletRequest
都有,生命周期监听和属性监听
生命周期监听:
1、创建是调用
2、销毁时调用
属性监听:
1、添加属性调用
2、替换属性调用
3、移除属性调用
举个例子:
public class InitConfigListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
LogWriter.info("=======================初始化")
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
}
<listener>
<listener-class>com.fuiou.web.listener.InitConfigListener</listener-class>
</listener>
HttpSessionBindingListener
public class User implements HttpSessionBindingListener{
private String username;
private int age;
@Override
public void valueBound(HttpSessionBindingEvent event) {
System.out.println("session 添加了 user");
}
@Override
public void valueUnbound(HttpSessionBindingEvent event) {
System.out.println("session 移除了 user");
}
}
只要实现HttpSessionBindingListener接口,那么当往session中添加user属性,就会触发valueBound方法,移除就会触发valueUnbound方法。