首页 > 代码库 > servlet和jsp学习指南(三)监听器
servlet和jsp学习指南(三)监听器
监听器是为了能够在servlet/jsp应用程序中进行事件驱动编程(Event-Driven Programming),所有事件类源自java.util.Event,并且监听器在以下三个不同级别中均可用:ServletContext、HttpSession及ServletRequest。
我选择性的学习ServletContextListener。主要是其他的在项目中没有看到使用。有用到再来补充学习。
javax.servlet.ServletContextListener。这是对Servlet Context生命周期事件做出响应的监听器。创建好Servlet Context时马上会调用它的其中一个方法,并在关闭Servlet Context之前调用它的另一个方法。
注册监听器有两种方式
(一)注解
@WebListenerpublic class AppListener implements ServletContextListener { 。。。}
(二)在部署描述符中使用一个listener元素
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
下面搬出书中的例子
@WebListenerpublic class AppListener implements ServletContextListener { public void contextDestroyed(ServletContextEvent arg0) { // TODO Auto-generated method stub } public void contextInitialized(ServletContextEvent sce) { ServletContext servletContext = sce.getServletContext(); Map<String,String> countries = new HashMap<String, String>(); countries.put("ca", "canada"); countries.put("us", "United States"); servletContext.setAttribute("countries", countries); }}
servlet容器启动时会创建servletContex这时候变回触发实现了ServletContextListener接口的AppListener。继而调用它的contextInitialized。实际上很多项目中都通过继承ServletContextListener来实现缓存的加载等其他项目初始化任务。
servlet和jsp学习指南(三)监听器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。