日期:2014-05-20  浏览次数:20785 次

SSI项目全局异常不跳转问题
小弟用SSI开发Demo工程,遇到全局异常不跳转的问题,各位大虾帮忙看看是神马问题:
struts.xml:
XML code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
      <!-- 公共配置信息 -->
    <package name="common" extends="json-default">
        <interceptors>
            <interceptor name="authority" class="com.greenbird.bbs.common.interceptor.AuthorityInterceptor">
            </interceptor>
            <interceptor-stack name="myStack">
                <interceptor-ref name="authority" />
                <interceptor-ref name="timer"/>
                <interceptor-ref name="params"/>
                <interceptor-ref name="defaultStack" />
            </interceptor-stack>
        </interceptors>
        <default-interceptor-ref name="myStack" />
        <!-- 全局跳转页面-->
        <global-results>
            <result name="RoleError">/pages/error/roleError.jsp</result>
            <result name="Login">/index.jsp</result>
            <result name="Error" type="redirect">/error.html</result>
        </global-results>
        <!-- 全局异常跳转 -->
        <global-exception-mappings>
            <exception-mapping result="Error" exception="com.greenbird.bbs.common.exception.BaseException"/>
            <exception-mapping result="Error" exception="java.lang.Exception"/>
        </global-exception-mappings>
    </package>
      <!-- ========== include struts XML  ================================== -->
    <include file="struts/*/*-config.xml" />
</struts>


登录后,地址栏输入一个不存在的action请求路径,应该跳转到错误页面的,可是结果却是404,找不到页面,页面路径是对的。。。这是什么问题。。。



------解决方案--------------------
error.html 这个页面有吗?
------解决方案--------------------
确定你的action抛出异常了么?
------解决方案--------------------
这样配置应该只是当系统抛出Exception异常时,才会转到Error的结果吧。
------解决方案--------------------
输入不存在的路径当然是报404错误,你这样写是只有java抛异常的时候才回指向/error.html页面,如果你想404错误也指向一个页面的话要在web.xml中设置,解决办法如下:

http://wangjunping1988.iteye.com/blog/950003
------解决方法--------------------
在web.xml里配置error-page就可以了
如下:
<error-page>
<error-code> 404 </error-code>
<location> /error.jsp </location>
</error-page>
这个叫自定义错误页