java web三大組件:servlet,listener,filter。
java web中的監(jiān)聽器
事件源:三大域!
- servletContext
- HttpSession
- ServletRequest
都有,生命周期監(jiān)聽和屬性監(jiān)聽
生命周期監(jiān)聽:
1、創(chuàng)建是調(diào)用
2、銷毀時調(diào)用
屬性監(jiān)聽:
1、添加屬性調(diào)用
2、替換屬性調(diào)用
3、移除屬性調(diào)用
舉個例子:
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");
}
}
只要實現(xiàn)HttpSessionBindingListener接口,那么當(dāng)往session中添加user屬性,就會觸發(fā)valueBound方法,移除就會觸發(fā)valueUnbound方法。