监听器是 Servlet API 的一部分,Web容器在工作时候,发生各种特定“事件”时候会自动调用相应事件方法。
我们可以利用事件方法来执行“特定”的功能
特定“事件” 如:
1.Request对象的创建与销毁
2.Response对象的创建与销毁
3.Session对象的创建与销毁(可统计在线人数)
4.ServletContext对象的创建与销毁
5.数据绑定更新和删除时候
request,session,servletContext 对象
调用了 setAttribute,removeAttribute
//调用dao保存信息
//UserDao dao = new UserDaoImpl();
UserDao dao=(UserDao)getServletContext().getAttribute("userDao");
监听器在web中的配置文件:
<listener>
<listener-class>cn.tedu.tstore.web.RequestDemoListener</listener-class>
</listener>
<listener>
<listener-class>cn.tedu.tstore.web.DaoInitListener</listener-class>
我们可以利用事件方法来执行“特定”的功能
特定“事件” 如:
1.Request对象的创建与销毁
2.Response对象的创建与销毁
3.Session对象的创建与销毁(可统计在线人数)
4.ServletContext对象的创建与销毁
5.数据绑定更新和删除时候
request,session,servletContext 对象
调用了 setAttribute,removeAttribute
//调用dao保存信息
//UserDao dao = new UserDaoImpl();
UserDao dao=(UserDao)getServletContext().getAttribute("userDao");
监听器在web中的配置文件:
<listener>
<listener-class>cn.tedu.tstore.web.RequestDemoListener</listener-class>
</listener>
<listener>
<listener-class>cn.tedu.tstore.web.DaoInitListener</listener-class>
</listener>
package cn.tedu.tstore.web;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import dao.UserDao;
import dao.UserDaoImpl;
public class DaoInitListener implements ServletContextListener {
//ServletContext对象初始化以后(Initialized)
//执行的方法,只执行一次
public void contextInitialized(ServletContextEvent e) {
UserDao dao = new UserDaoImpl();
e.getServletContext().setAttribute("userDao", dao);
System.out.println("初始化了: "+dao);
}
//销毁以后(Destroyed)执行一次
public void contextDestroyed(ServletContextEvent e) {
}
}
package cn.tedu.tstore.web;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
public class RequestDemoListener implements ServletRequestListener {
public void requestInitialized(ServletRequestEvent arg0) {
System.out.println("创建了Request");
}
public void requestDestroyed(ServletRequestEvent arg0) {
System.out.println("销毁了Request");
}
}