大连金普新区规划建设局网站百家号网站开发属于什么领域
文章目录
- 监听器
 - 1.监听器的分类
 - 2.application域监听器案例
 
监听器
- 概念:后端要发生一些事情的时候,自动触发一些代码的执行;
 

1.监听器的分类
-  
web中定义八个监听器接口作为监听器的规范,这八个接口按照不同的标准可以形成不同的分类
 -  
按监听的对象划分
- application域监听器 ServletContextListener ServletContextAttributeListener
 - session域监听器 HttpSessionListener HttpSessionAttributeListener HttpSessionBindingListener HttpSessionActivationListener
 - request域监听器 ServletRequestListener ServletRequestAttributeListener
 
 -  
按监听的事件分
- 域对象的创建和销毁监听器 ServletContextListener HttpSessionListener ServletRequestListener
 - 域对象数据增删改事件监听器 ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener
 - 其他监听器 HttpSessionBindingListener HttpSessionActivationListener
 
 
2.application域监听器案例
注:本章节仅讲述应用域监听器接口
 
案例
设计三个Servlet分别进行增加数据,修改数据,删除数据
创建隔壁包下进行监听
实现ServletContextListener,实现其方法
配置映射
xml文件配置listener 或者直接添加注解即可
 
- 构建Servlet1
 
@WebServlet("/Servlet1")
public class Servlet1 extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ServletContext servletContext = this.getServletContext();servletContext.setAttribute("keya","valuea");}
}
 
-  
监听Servlet1的构建以及销毁
-  
应用域监听接口以及api
 -  
接口是HttpServletContextListener
 -  
实现方法是contextInitialized、contextDestroyed
 
 -  
 

- 监听数据 增删改–多实现一个方法ServletContextAttributeListener
 
@WebListener("/Servlet1")
public class MyApplicationListener implements ServletContextListener, ServletContextAttributeListener {@Overridepublic void attributeAdded(ServletContextAttributeEvent scae) {ServletContextAttributeListener.super.attributeAdded(scae);}@Overridepublic void attributeRemoved(ServletContextAttributeEvent scae) {ServletContextAttributeListener.super.attributeRemoved(scae);}@Overridepublic void attributeReplaced(ServletContextAttributeEvent scae) {ServletContextAttributeListener.super.attributeReplaced(scae);}
}
 
attributeAdded()
 
attributeRemoved()
 
attributeReplaced()
 
-  
监听接口中可以重写相关方法,一旦被监听的对象执行了某项操作,tomcat后台就会进行响应,监听到;
 -  
例如attributeAdded就监听this.getContext().setAttribute()这个方法的操作
 -  
一般来说监听的东西五花八门,用的时候查即可;
 
