java – “上下文初始化失败后”显示设置
作者:互联网
我现在正在寻找几天来回答以下问题:
我有一个Spring 2.5 web应用程序,如果spring上下文的初始化失败,我想显示一个特定的设置屏幕.在此设置屏幕中,他们可以查看服务器无法启动的原因,并可能进行一些更改(上传新的config.properties文件)
但是我怎么能以聪明的方式实现这个呢? Spring已经是这样的了,还是我需要扩展ContextLoader?
我在web.xml中尝试过这样的东西:但这似乎不起作用:
<error-page>
<error-code>404</error-code>
<location>/public/setup.jsp</location>
</error-page>
解:
我从一个默认的web.xml开始,在设置完成后,我用正确的’application’web.xml替换web.xml.由于更换了web.xml,服务器将重新启动.这非常有效.再次感谢您的回答.
解决方法:
这有三个想法:
>修改上下文加载器以捕获异常,并将servlet / mapping添加到容器中,该容器将所有相关映射重定向到动态加载的servlet.查看有关如何创建动态servlet的指令的堆栈溢出线程:Dynamically add a servlet to the servletConfig
>或者,您可以定义一个标准servlet来处理所有请求并将它们转发到配置页面.然后你可以有一个spring bean来删除那个servlet并在完成初始化时从上下文映射(你可能想把这个代码放在spring bean的postInitalize钩子里.)
>您还可以尝试创建一个侦听器,以检查是否存在有效的应用程序上下文,并删除“默认”映射/ servlet退出.
我不认为有添加/删除servlet和从容器映射的标准机制.但看起来大多数容器都有一些API可以做到这一点.
还有第三种方法,你在暗示.假设如果发生404错误则servlet无法启动.如果你沿着那条路走下去,我想你会遇到404错误可能发生的问题,因为用户胖了手指.
标签:java,web-applications,spring-mvc,spring,web-xml 来源: https://codeday.me/bug/20190630/1339270.html