我在tomcat中定义了多个Web应用程序。如果有任何异常,我想抛出一个jsp(使用spring的SimpleMappingExceptionResolver标记完成)。当我将jsps放在Web应用程序的web-inf文件夹中时,它工作正常,这很明显。 但是我想把这个jsp放在tomcat的常用位置,比如ROOT库。但是,如果我这样做,tomcat无法找到我的jsp。有人可以告诉我是否需要在web.xml中进行任何更改才能实现这一点,或者我应该将此jsp放在其他位置。 提前谢谢。
答案 0 :(得分:0)
“拾起”或“访问”是什么意思?您可以在tomcat ROOT应用程序上放置一个jsp文件,并在每次遇到异常时进行302重定向。
例如,在webapps / ROOT / generic_exception.jsp上放置所有应用程序通用异常页面,然后在每个应用程序上,将其添加到web.xml
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/myapp_error.jsp</location>
</error-page>
如果有任何未捕获的异常表面,那应该将请求重定向到myapp_error.jsp(在myapp内)。然后在myapp_error.jsp中,只需执行html元重定向到/generic_exception.jsp
然而,这种方法的缺点是你被重定向到不同的网络应用程序,如果你想传递会话属性,很难/需要额外的工作