Servlet初始化:随服务器启动而运行

有时候,我们需要仅仅是在服务启动,而非其他更为复杂的定时任务的时候,做些初始化的工作,比如将一些数据导入到内存中等等,用Servlet的初始化可以很好的做到这一点。而初始化工作是通过Servlet中的init()方法来做的。

湖州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

建一个Servlet类:AutoRunServlet.java,代码如下:

 
 
 
  1. public class AutoRunServlet extends HttpServlet {
  2. private static final long serialVersionUID = 1L;
  3. public void init() throws ServletException{
  4. System.out.println(">>你可以在这里初始化一些东西>>");
  5.         String v = this.getInitParameter("a");
  6.         Enumeration e = this.getInitParameterNames();
  7.         while(e.hasMoreElements()){
  8.             System.out.println(">>haha>>"+e.nextElement());
  9.         }
  10. }

在web.xml中进行配置:

 
 
 
  1. AutoRunServlet
  2. AutoRunServlet//类的包路径
  3. 0
  4. a
  5. 传入的参数值1
  6. b
  7. 传入的参数值2
  8.  

0表示Servlet的运行优先级,0表示服务一启动,Servlet就加载进行初始化

启动服务(比如tomcat),在控制台中就可以看到打印出:

>>你可以在这里初始化一些东西>>这样的文字了。

另外在启动服务(tomcat)的时候有可能会报某种错:

 
 
 
  1. jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 

这一般是你项目中使用的Servlet包与tomcat中带的包重复了,我使用的是tomcat 6.0.x,如果我在项目中存在着一个Servlet包:servlet-api-2.5-6.1.14.jar,那么这个时候就会报错,因为在 TOMCAT_HOME/lib下已经存在servlet-api.jar了,所以解决方法就是只保留一个包,比如我将项目下的servlet-api- 2.5-6.1.14.jar删除,再重启服务就没有问题了。

分享题目:Servlet初始化:随服务器启动而运行
文章位置:http://www.shufengxianlan.com/qtweb/news1/56151.html

成都网站建设公司_创新互联,为您提供虚拟主机网站内链服务器托管电子商务面包屑导航网页设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联