我们可能会遇到这样的问题:在jsp页面上点击某个按钮时,服务器要执行某个函数,然后输出结果。但是有可能服务器需要处理的数据量很大,每次点击按钮都要等待想当长一段时间,这对用户使用十分不友好,所以我们希望在服务器启动的时候先执行这个函数,然后把执行结果存储在某个变量或者数据结构中,当我们点击JSP按钮时,可以直接从结果中调用数据,而不需要每次都让服务器去执行计算,这样就大大提高了效率。下面给出我在实践过程中的一个例子。
1 public class AutoStartServlet extends HttpServlet { 2 /** 3 * @description TODO 4 * @author Caesar 5 * @time 2015年11月17日下午04:05:51 6 * 7 */ 8 public void init(){ //需要启动时执行的servlet要有一个init()方法 9 //插入需要执行的函数 10 11 System.out.println("自启动成功"); 12 } 13 } 14 15 16
在web.xml文件里,也要配置相应的参数,配置如下:
1 <servlet> 2 <servlet-name>AutoStartServlet</servlet-name> 3 <servlet-class>servlet.AutoStartServlet</servlet-class> 4 <load-on-startup>1</load-on-startup> 5 </servlet> 6 <servlet-mapping> 7 <servlet-name>AutoStartServlet</servlet-name> 8 <url-pattern>/servlet/AutoStartServlet</url-pattern> 9 </servlet-mapping>
这样,当你启动服务器(如tomcat)的时候,服务器会自动执行AutoStartServlet这个java文件init()里的程序。
原文:http://www.cnblogs.com/TracyCaesar/p/4985098.html