实现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路径的时候,就会自动相应的操作了。

时间: 2024-09-04 11:50:12

实现Tomat启动自动运行一个类的相关文章

程序启动的时候自动执行一个bat命令的问题

问题描述 程序启动的时候自动执行一个bat命令的问题 能不能在程序执行以前先自动运行一个bat文件,怎么在程序打开以前得知程序运行的事件呢? 解决方案 将需要执行的程序添加到启动项中,http://www.jb51.net/os/19806.html 解决方案二: 是java语言吗? java语言可以在运行主程序的时候先执行bat,当bat执行成功后,在启动主要业务. 解决方案三: 需要写一个外壳程序,去run bat,然后 run 你的程序,比如实现程序自动更新! 解决方案四: 调用系统api

c++在运行期间不会自动检查数组是否越界,设计一个类检查数组是否越界

/* c++在运行期间不会自动检查数组是否越界,设计一个类检查数组是否越界. */ #include <iostream> #include <string> using namespace std; class check { public: check(char*s) { str=new char[strlen(s)+1]; strcpy(str,s); len=strlen(s); } char operator[](int n) { if(n>len-1) { cou

shell脚本-linux如何设置一个shell在开机登录之后自动运行?

问题描述 linux如何设置一个shell在开机登录之后自动运行? 系统的一些后台应用需要通过运行一个shell来启动,那么如何设置这个shell在开机用户登陆之后自动运行 解决方案 把你shell脚本放到 /etc/init.d/中 同时chmod设置X执行权限,这样系统启动就可以执行了 http://stackoverflow.com/questions/12973777/how-to-run-a-shell-script-at-startup 解决方案二: 现在可以直接在图形化界面中设置,

如何在启动SQL SERVER时自动执行一个存储过程

    本文解答如何在启动SQL SERVER的时候,执行一个存储过程的问题. 如何在启动SQL SERVER的时候,执行一个存储过程? 将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行". 或者在master中创建存储过程后,执行语句设置为自动启动 use masterexec sp_procoption '存储过程名','startup','on' 自动执行存储过程 SQL Server 启动时可以自

main static-java只有一个类,main和static 变量谁先运行?请各位指点。谢谢!

问题描述 java只有一个类,main和static 变量谁先运行?请各位指点.谢谢! import static net.mindview.util.Print.*;class Go { static String s1 = ""run""; static String s2 s3; static { s2 = ""drive car""; s3 = ""fly plane""; pr

批处理 vbs-求一个批处理或者vbs,自动运行这个小程序

问题描述 求一个批处理或者vbs,自动运行这个小程序 这段时间win7安装完更新之后,右下角可能会出现升级Windows 10的图标,在网上找到一个"I don't want Windows 10.exe"这个小程序可以卸载KB3035583这个更新,非常方便. 运行这个小程序之后,点一下默认的"I Agree"摁扭,再点一下卸载该更新的"确定"摁扭,就好了,全是默认的,回车键就行. 请求哪位大侠帮我写一个批处理,双击批处理就能运行这个小程序,静

mfc-MFC程序增加显示每日格言的功能,一个是自动运行每一个是通过菜单运行

问题描述 MFC程序增加显示每日格言的功能,一个是自动运行每一个是通过菜单运行 每日格言放在tips.txt文件中,每行一条,可以点击上一条下一条翻阅 解决方案 参考:http://www.codeproject.com/Articles/17/Improved-Tip-of-the-Day-Dialog 解决方案二: 读取文件:getline 将文件的内容update到控件上. 你这道题目的问题在于:每天要显示一条,那你如何保证一天只读取和显示一次文本内容.你这样操作: 在安装目录下生成一个文

如何在安卓的文件管理器运行一个文件,来启动某个应用呢?

问题描述 如何在安卓的文件管理器运行一个文件,来启动某个应用呢? 我这个设备是定制的平板,装了应用没有启动图标.只有一个文件管理器. 有没有办法给应用做个文件形式的快捷方式,在文件管理器里点这个文件就能启动应用? 解决方案 没有办法 取得了Root或许可以 但也需要写一个程序才行 很难

java-tomcat启动会报错说找不到一个类,但是明明已经编译好了啊

问题描述 tomcat启动会报错说找不到一个类,但是明明已经编译好了啊 这是错误 这是编译好的classes文件好好的放着呢,怎么会找不到 解决方案 你到Tomcat的这里找找看看有没有这个类: Tomcatwebapps项目WEB-INFclasses 解决方案二: 这个是jar包没有导入tamcat,你的servlet-api.jar不存在,你把这个jar包放进去就ok了