54powerman

开源~节流

实现Tomat启动自动运行一个类

1 用一个例子来说明问题,本例要求统计tomcat启动的次数,并保存在d:/test.txt中。一个很简单的逻辑,重点在于tomcat启动自动加载一个类来实现一定的操作。
2 首先编写一个servlet类--Startup.java
3 将需要自动运行的操作代码写在init方法中。
4 如下配置web.xml
  <servlet>
    <servlet-name>startup</servlet-name>
    <servlet-class>com.usease.Startup</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
5 附servlet全代码:
package com.usease;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Startup extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=GBK";
    //Initialize global variables
    public void init() throws ServletException {
        try {
            File file = new File("d:/test.txt");
            int count = 0;
            if (file.exists()) {
                BufferedReader in = new BufferedReader(new FileReader(file));
                String inString = in.readLine();
                count = Integer.parseInt(inString);
                in.close();
            }
            count++;
            PrintWriter out = new PrintWriter(new FileOutputStream("d:/test.txt"));
            out.print(count);
            out.close();
        }
 catch (IOException e) {}
        System.out.println("Count completed!");
    }
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
    }
    //Clean up resources
    public void destroy() {
    }
}
6 这样,当Tomcat加载这个Context路径的时候,就会自动相应的操作了。
 
说明:一般这个操作用于Tomcat启动后自动加载一些全局变量,初始化信息等,当然你可以象本例中做一些其他操作。

posted on 2006-10-18 15:52 54powerman 阅读(188) 评论(0)  编辑  收藏 所属分类: Java


只有注册用户登录后才能发表评论。


网站导航: