• Tomcat启动时载入某个servlet


         当我们做一个java项目时,有几个功能都须要载入servlet或者实现某个共同的方法,尽管我们一味地在每个功能中依次载入也不是不能够,可是当某个servlet 或者方法被频繁地载入和应用。我们将面向对象的思想置于不顾却也真的说只是去。

         所以。对于这类的servlet我们须要在Tomcat启动时直接载入,比方初始化信息、读取配置文件等需求时,我们就能够通过web.xml的配置文件对来实现这个需求:

        首先,AbstractItemServlet 类中封装了相应的Init方法:

    <span style="font-family:FangSong_GB2312;font-size:18px;">package com.bjpowernode.drp.util.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    
    import com.bjpowernode.drp.util.BeanFactory;
    
    /**
     * 
     * 负责系统在server启动时初始化
     * @author chao
     *
     */
    public class InitServlet extends HttpServlet {
    
    	@Override
    	public void init() throws ServletException {		
    		System.out.println("创建BeanFactory。。。

    。。"); //将抽象工厂放到servletContext中 BeanFactory beanFactory = BeanFactory.getInstance(); this.getServletContext().setAttribute("beanFactory", beanFactory); } }</span>

          其次。在项目的配置文件web.xml(路径为:/WebRoot/WEB-INF/web.xml)中对抽象出来的servlet进行配置:

    <span style="font-family:FangSong_GB2312;font-size:18px;">      <!-- 设置tomcat一启动就运行InniServlet -->
    	<servlet>
    	   <servlet-name>InitServlet</servlet-name>
    	   <servlet-class>com.bjpowernode.drp.util.servlet.InitServlet</servlet-class>
    	   <load-on-startup>2</load-on-startup>
    	</servlet></span>

          这样就能够实如今Tomcat启动时调用com.bjpowernode.drp.util.servlet.InitServlet的init()方法。

         当中。<load-on-startup>N</load-on-startup> 的含义是:标记容器是否在启动的时候就载入这个servlet。当值为0或者大于0时。表示容器在应用启动时就载入这个servlet。当是一个负数时或者没有指定时。则指示容器在该servlet被选择时才载入。正数的值越小,启动该servlet的优先级越高。

         有了这种方法,我们既能够省去每次调用该方法的运行时间和占用空间,又能够完美地实现面向对象的思想。

    那我们又何乐而不为呢?

                           

  • 相关阅读:
    设置 添加 erlang 代码路径 工作路径
    [转]inline,__inline,__forceinline 关于函数内联及相关关键字的详细说明
    [转]Delphi 2010 3513正式版破解
    IBM developerWorks 文章转载系列(二)
    Cassandra和HBase主要设计思路对比
    Storm : Twitter的实时数据处理工具(转载)
    Oracle NoSQL Database (转载)
    MapReduce Hold不住? (转载)
    [InfoQ]Twitter Storm:开源实时Hadoop (转载)
    数据分析与处理之一(大规模数据分析架构)
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6893534.html
Copyright © 2020-2023  润新知