Jsp Struts 2返回404,这不是由tomcat错误页面触发的
以Tomcat7.0.54上的Struts2WebApp为例 web.xml定义为:Jsp Struts 2返回404,这不是由tomcat错误页面触发的,jsp,tomcat,configuration,struts2,http-status-code-404,Jsp,Tomcat,Configuration,Struts2,Http Status Code 404,以Tomcat7.0.54上的Struts2WebApp为例 web.xml定义为: <error-page> <location>/WEB-INF/content/global-error-page.jsp</location> </error-page> /WEB-INF/content/global-error-page.jsp 此强制所有Tomcat错误(包括404)被重定向到全局错误页面.jsp 所以如果我尝试http://
<error-page>
<location>/WEB-INF/content/global-error-page.jsp</location>
</error-page>
/WEB-INF/content/global-error-page.jsp
此强制所有Tomcat错误(包括404)被重定向到全局错误页面.jsp
所以如果我尝试http://foo.com/bad.jsp
或http://foo.com/bad.ext
Tomcat将我重定向到global error page.jsp
然而,
http://foo.com/bad.action
仍将返回404错误,tomcat无法处理,这是一种修复方法吗 您可以使用默认操作参考捕获所有不匹配的操作:
通常,如果请求了一个操作,并且框架无法将该请求映射到一个操作名称,那么结果将是通常的“404-Page not found”错误。但是,如果希望综合操作处理任何不匹配的请求,可以指定默认操作。如果没有匹配的其他操作,则使用默认操作
默认操作没有特殊要求。每个包都可以有自己的默认操作,但每个命名空间只能有一个默认操作
只需将其结果映射到您想要的页面:
/WEB-INF/content/global-error-page.jsp
通过实现未知句柄处理错误操作。您可以在struts.xml
中使用标记对其进行配置
<bean type="com.opensymphony.xwork2.UnknownHandler" name="myhandler" class="org.struts.YourUnknownHandler"/>
您可以在运行时配置中找到它,并将其添加到新烘焙的操作配置中。哪个servlet版本?可能是因为约定插件。
<global-results>
<result name="error">/WEB-INF/content/global-error-page.jsp</result>
</global-results>