zoukankan      html  css  js  c++  java
  • servlet和jsp学习指南(三)监听器

         监听器是为了能够在servlet/jsp应用程序中进行事件驱动编程(Event-Driven Programming),所有事件类源自java.util.Event,并且监听器在以下三个不同级别中均可用:ServletContext、HttpSession及ServletRequest。

         我选择性的学习ServletContextListener。主要是其他的在项目中没有看到使用。有用到再来补充学习。

      javax.servlet.ServletContextListener。这是对Servlet Context生命周期事件做出响应的监听器。创建好Servlet Context时马上会调用它的其中一个方法,并在关闭Servlet Context之前调用它的另一个方法。

         注册监听器有两种方式

      (一)注解

      

    @WebListener
    public class AppListener implements ServletContextListener {
               
               。。。
    }

      (二)在部署描述符中使用一个listener元素

    <listener>
          <listener-class> org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>

    下面搬出书中的例子

    @WebListener
    public 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);
        }
    
    }
    View Code

      servlet容器启动时会创建servletContex这时候变回触发实现了ServletContextListener接口的AppListener。继而调用它的contextInitialized。实际上很多项目中都通过继承ServletContextListener来实现缓存的加载等其他项目初始化任务。

  • 相关阅读:
    机器学习模型评估指标汇总
    Linux 搭建Hadoop集群错误锦集
    机器学习--聚类系列--DBSCAN算法
    机器学习--聚类系列--层次聚类
    机器学习--聚类系列--K-means算法
    数据分析--降维--LDA和PCA
    自然语言处理--Word2vec(一)
    自然语言处理--TF-IDF(关键词提取)
    Android学习笔记之BitmapFactory.Options实现图片资源的加载...
    Android学习笔记之蓝牙通信...
  • 原文地址:https://www.cnblogs.com/vincentren/p/5831668.html
Copyright © 2011-2022 走看看