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.jsp
或http://foo.com/bad.ext
Tomcat将我重定向到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