首页 > ssh struts2 拦截器死活不起作用

ssh struts2 拦截器死活不起作用

struts.xml 配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <!-- 指定由spring负责action对象的创建 -->
    <constant name="struts.objectFactory" value="spring" />
    <!-- 所有匹配*.action的请求都由struts2处理 -->
    <constant name="struts.action.extension" value="action" />
    <!-- 是否启用开发模式 -->
    <constant name="struts.devMode" value="true" />
    <!-- struts配置文件改动后,是否重新加载 -->
    <constant name="struts.configuration.xml.reload" value="true" />
    <!-- 设置浏览器是否缓存静态内容 -->
    <constant name="struts.serve.static.browserCache" value="false" />
    <!-- 每次HTTP请求系统都重新加载资源文件,有助于开发 -->
    <constant name="struts.i18n.reload" value="true" />
    <!-- 设置默认的locale和字符编码 -->
    <constant name="struts.locale" value="zh_CN" />
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <!-- 文件上传最大值 -->
    <!--<constant name="struts.multipart.maxSize" value="104857600" />-->
    <constant name="struts.multipart.maxSize" value="1073741824" />
    <!-- 让struts2支持动态方法调用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- Action名称中是否还是用斜线 -->
    <constant name="struts.enable.SlashesInActionNames" value="false" />
    <!-- 允许标签中使用表达式语法 -->
    <constant name="struts.tag.altSyntax" value="true" />
    <!-- 对于WebLogic,Orion,OC4J此属性应该设置成true -->
    <constant name="struts.dispatcher.parametersWorkaround" value="false" />
    <!-- xxx -->
    <constant name="struts.multipart.saveDir" value="/tmp"/>
     <constant name="struts.multipart.handler" value="myRequestParser"/>
     
     <!-- 设置是否支持动态方法调用,true为支持,false不支持 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
     
     <!-- 配置Convention插件自动重加载映射,生产模式中要设置为false -->
    <constant name="struts.convention.classes.reload" value="true" />
     
     <!-- 当指定convention的这个属性,Struts框架就会在你访问特定的URL时会自动的找到所要的请求的实现类 -->
    <constant name="struts.convention.action.packages" value="com.dgq.xunshe.struts2.action.*" />

    <!-- 设置Convention插件定位视图资源的根路径。默认值为/WEB-INF/content这个属性用于约定Action类执行完毕以后返回资源的结果路径 -->
    <constant name="struts.convention.result.path" value="/WEB-INF/jsp/" />

    <!-- 这个属性是约定当一个Java类有多个单词组合成的时候,映射的URL地址的时候访问格式的分隔符, 如果不指定这个属性,Struts默认的分隔符是 
        “-”, 如果指定这个属性是下面的格式,则是没有分隔符,会按照Java 类名直接映射,例如HelloWorldAction 则访问的URL 是HelloWorld.action -->
    <constant name="struts.convention.action.name.separator" value="_" />

    <!-- 是否将Action类的访问地址转换成小写 -->
    <constant name="struts.convention.action.name.lowercase" value="false" />
     
     <package name="all" extends="struts-default">
        <interceptors>
            <!-- 定义权限控制拦截器 -->
            <interceptor name="authority" class="com.dgq.xunshe.struts2.interceptor.LoginInterceptor"/>
            <!-- 定义一个包含权限控制的拦截器栈 -->
            <interceptor-stack name="customDefaultStack">
                <interceptor-ref name="defaultStack" />
                <interceptor-ref name="authority" />
            </interceptor-stack>
        </interceptors>
        
        <default-interceptor-ref name="customDefaultStack" />
        <global-results>
            <result name="input">/WEB-INF/common/input.jsp</result>
            <result name="error">/WEB-INF/jsp/common/error.jsp</result>
            <result name="session_invalid">/WEB-INF/jsp/demo/admin/session_invalid.jsp</result>
            <result name="relogin">/WEB-INF/jsp/common/init.jsp</result>
            <result name="login">/index.html</result> 
        </global-results>
        <global-exception-mappings>
            <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
        </global-exception-mappings>
     </package>
</struts>
【热门文章】
【热门文章】