【发布时间】:2011-04-10 11:11:52
【问题描述】:
我想在我的 Tomcat 服务器完成启动并开始提供我的 servlet 之前初始化一个类的全局实例。如果此服务以某种方式初始化失败,我希望整个启动序列也失败(或尽可能接近此;否则服务器运行将毫无意义)。我能做到这一点的最好方法是什么?
【问题讨论】:
标签: java javascript apache tomcat servlets
我想在我的 Tomcat 服务器完成启动并开始提供我的 servlet 之前初始化一个类的全局实例。如果此服务以某种方式初始化失败,我希望整个启动序列也失败(或尽可能接近此;否则服务器运行将毫无意义)。我能做到这一点的最好方法是什么?
【问题讨论】:
标签: java javascript apache tomcat servlets
每个 Web 应用程序都有一个与之关联的 ServletContext。 ServletContext 对象在应用程序启动时创建,在应用程序关闭时销毁。 ServletContext 具有全局范围,类似于应用程序中的全局变量。
http://www.javabeat.net/tips/178-servletcontextlistener-example.html
这里有完整的解释
【讨论】:
你可以做的一件事是实现一个 servlet,它在它的 init() 方法中初始化你需要的所有东西(如果失败,可能会调用 System.exit(),我不知道你是否有权这样做雄猫)。然后,您将在 web.xml 中使用 <load-on-startup> 加载它以指定初始化顺序。
【讨论】: