温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Servlet如何初始化

发布时间:2021-12-18 16:29:29 来源:亿速云 阅读:230 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“Servlet如何初始化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Servlet如何初始化”这篇文章吧。

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

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

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

在web.xml中进行配置:

<servlet>  <servlet-name>AutoRunServlet</servlet-name>  <servlet-class>AutoRunServlet</servlet-class>//类的包路径  <load-on-startup>0</load-on-startup> <init-param> <param-name>a</param-name> <param-value>传入的参数值1</param-value> </init-param> <init-param> <param-name>b</param-name> <param-value>传入的参数值2</param-value> </init-param>

</servlet><load-on-startup>0</load-on-startup>表示Servlet的运行优先级,0表示服务一启动,Servlet就加载进行初始化

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

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

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

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如何初始化”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI