up:: Servlet的注解

启动时加载:

例子:在程序启动时,需要依次完成创建数据库、导入数据库、分析数据库操作:分别添加了三个Servlet:

    public class CreateServlet extends HttpServlet{
 
    	@Override
    	public void init() throws ServletException {
    		System.out.println("正在创建数据库");
    	}
    }
 
 
    public class ImportServlet extends HttpServlet{
 
    	@Override
    	public void init() throws ServletException {
    		System.out.println("正在导入数据库。");
    	}
    }

通过注解的方式,设置启动时加载:

 
 
    // 这个Servlet通过注解的方式设置启动时加载
    // 注意:通过这种方式设置启动时加载时,必须也设置urlPatterns="/unused",这个url没有实际用途,但必须设置,否则loadOnStartup=2会不生效!
    @WebServlet(urlPatterns="/unused",loadOnStartup=2)
    public class AnalusisServlet extends HttpServlet{
 
    	@Override
    	public void init() throws ServletException {
    		System.out.println("正在分析数据库!");
    	}
    }

。web.xml中的配置:发现,没有给Servlet设置url,因为在实际中,需要预加载servlet主要的职能时初始化的工作,其不需要被外界访问,即其不需要提供服务所以无需绑定url。

 
 
      <servlet>
      	<servlet-name>create</servlet-name>
      	<servlet-class>com.imooc.servlet.CreateServlet</servlet-class>
      	<load-on-startup>0</load-on-startup>  <!-- 0:在tomcat启动时,这个servlet会最先被加载 -->
      </servlet>
 
      <servlet>
      	<servlet-name>import</servlet-name>
      	<servlet-class>com.imooc.servlet.ImportServlet</servlet-class>
      	<load-on-startup>1</load-on-startup>
      </servlet>

tomcat启动时截图:


注:本篇博客的工程代码在servlet_load-on-startup这个远程仓库中;