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>