Struts 2返回404,它不是由Tomcat错误页面触发的

考虑Tomcat 7.0.54上的struts 2 webapp。

web.xml定义为:

<error-page>

<location>/WEB-INF/content/global-error-page.jsp</location>

</error-page>

这会强制将 Tomcat错误(包括404错误)重定向到global-error-page.jsp

因此,如果我尝试http://foo.com/bad.jsphttp://foo.com/bad.extTomcat将我重定向到global-

error-page.jsp

但是尝试http://foo.com/bad.action仍然会返回404错误,tomcat无法处理它,这是修复它的一种方法吗?

回答:

您可以使用

来捕获所有不匹配的操作,如docs中所述:

通常,如果请求了操作,并且框架无法将请求映射到操作名称,则结果将是通常的“

404-找不到页面”错误。但是,如果您希望综合动作处理任何不匹配的请求,则可以指定默认动作。如果没有其他动作匹配,则使用默认动作。

默认操作没有特殊要求。每个程序包可以有自己的默认操作,但是每个名称空间只能有一个默认操作。

只需将其结果映射到所需的页面即可:

<package...>

<default-action-ref name="index" />

<action name="index">

<result>/WEB-INF/content/global-error-page.jsp</result>

</action>

</package>

以上是 Struts 2返回404,它不是由Tomcat错误页面触发的 的全部内容, 来源链接: utcz.com/qa/407973.html

回到顶部