我有一个servlet,它在servlet的<load-on-startup>1</load-on-startup>
方法中的服务器启动init()
上加载我正在检查属性文件中的某些参数。如果参数不存在,我想停止整个上下文的初始化。
public void init(){
Readproperty pr = new ReadProperty();
if(!pr.parameterExists()){
//Edit:
throw new UnavailableException("Testing Stopping Context")
}
}
最好的方法是什么?我现在想将此代码移动到我的上下文监听器类,所以我正在寻找从`init()&#39;方法
答案 0 :(得分:3)
您无法阻止Web应用程序从servlet启动。
如果要停止Web应用程序开始将测试移至ServletContextListener
。 contextInitialized()
方法中的异常将阻止Web应用程序启动。
如果您使用的是最新的Tomcat 7.0.x或8.0.x版本,则可以在Context或Host上使用Tomcat特定选项failCtxIfServletStartFails
,如果启动时出现任何负载,将导致Web应用程序失败servlet失败但这是非标准的。 ServletContextListener
是更好的选择。
答案 1 :(得分:-2)
在那里抛出任何异常。初始化将中止。