0

我在我的 tomcat 中定义了多个 Web 应用程序。如果出现任何异常,我想抛出一个 jsp(使用 spring 的 SimpleMappingExceptionResolver 标签完成)。当我将 jsps 放在 Web 应用程序的 web-inf 文件夹中时,它可以正常工作,这是显而易见的。但是我想把这个jsp放在tomcat中一个常见的地方,比如ROOT库。但是如果我这样做,tomcat 就无法找到我的 jsp。有人可以告诉我是否需要对 web.xml 进行任何更改才能实现这一点,或者我应该将此 jsp 放在其他地方。提前致谢。

4

1 回答 1

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

但是这种方法的缺点是您被重定向到不同的网络应用程序,如果您想传递会话属性,这很困难/需要额外的工作

于 2013-04-08T06:15:16.313 回答