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这个远程仓库中;