您的位置:首页 > 运维架构 > Tomcat

tomcat启动后让servlet一直运行

2015-06-15 18:42 525 查看
.1.web.xml 中设置servlet为<load-on-startup>1</load-on-startup>

[html] view
plaincopy

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>

<description>This is the description of my J2EE component</description>

<display-name>This is the display name of my J2EE component</display-name>

<servlet-name>AutoRunService</servlet-name>

<servlet-class>AutoRunService</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>AutoRunService</servlet-name>

<url-pattern>/servlet/AutoRunService</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

<login-config>

<auth-method>BASIC</auth-method>

</login-config>

</web-app>

2.AutoRunService在init方法中执行启动业务线程

[java] view
plaincopy

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class AutoRunService extends HttpServlet

{

/**

*

*/

private static final long serialVersionUID = 1L;

/**

* Constructor of the object.

*/

public AutoRunService()

{

super();

}

/**

* Destruction of the servlet. <br>

*/

public void destroy()

{

super.destroy(); // Just puts "destroy" string in log

// Put your code here

}

/**

* The doGet method of the servlet. <br>

*

* This method is called when a form has its tag value method equals to get.

*

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("<HTML>");

out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");

out.println(" <BODY>");

out.print(" This is ");

out.print(this.getClass());

out.println(", using the GET method");

out.println(" </BODY>");

out.println("</HTML>");

out.flush();

out.close();

}

/**

* The doPost method of the servlet. <br>

*

* This method is called when a form has its tag value method equals to post.

*

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("<HTML>");

out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");

out.println(" <BODY>");

out.print(" This is ");

out.print(this.getClass());

out.println(", using the POST method");

out.println(" </BODY>");

out.println("</HTML>");

out.flush();

out.close();

}

/**

* Initialization of the servlet. <br>

*

* @throws ServletException if an error occurs

*/

public void init() throws ServletException

{

// Put your code here

AutoRunThread autoRunThread = new AutoRunThread();

autoRunThread.start();

}

}

3.AutoRunThread 定时运行

[java] view
plaincopy

/**

*

*/

/**

* @author baijd

*

*/

public class AutoRunThread extends Thread

{

public AutoRunThread()

{

super();

// TODO Auto-generated constructor stub

}

public void run()

{

try

{

do

{

// do something

System.out.println("定时执行....");

// sleep(60 * 1000);这儿写的是2小时

sleep(2 * 1000);

} while (true);

} catch (Exception e)

{

}

}

}
http://blog.csdn.net/baijd_ss/article/details/8489142
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: