1 /** 2 * servlet init()在web应用程序启动之后,第一个请求到达Servlet之前调用。 3 * 问题1:如果init()中需要处理大量的工作,那么servlet在处理第一个请求需要花费大量的时间 4 * 解决1:在web.xml配置文件中添加配置问题<load-on-startup>1</load-on-startup> 5 * 表示在web应用程序启动之后立即调用init()方法,如果有多个servlet使用了该配置,那么调用顺序是数字小的先调用 6 */ 7 public void init() { 8 System.out.println("servlet 处理第一个请求之前"); 9 try { 10 Thread.sleep(10000); 11 System.out.println("servlet 在处理第一个请求之前休眠10S,处理第二次请求将不再执行该方法"); 12 } catch (InterruptedException e) { 13 e.printStackTrace(); 14 } 15 } 16 17 protected void doGet(HttpServletRequest request, 18 HttpServletResponse response) throws IOException { 19 response.getWriter().println("Hello Servlet $$$$$"); 20 }
1 <servlet> 2 <servlet-name>helloServlet</servlet-name> 3 <display-name>This is the display name of my J2EE component</display-name> 4 <description>This is the description of my J2EE component</description> 5 <servlet-class>cn.dyf.action.servlet.HelloServlet</servlet-class> 6 <load-on-startup>1</load-on-startup> 7 </servlet>