zoukankan      html  css  js  c++  java
  • struts2配置文件struts.xml的简介

    本文在于总结,深入研究有别人写的很好了,也没必要再去写,将在本文后面附上他们的文章地址:

    一、struts2的执行过程:

    二、struts2的配置文件struts.xml

    下面是其三大部分include、constant、package的配置说明,骨架这样,做的时候参考API就行了:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
    <struts>
        <!-- 一、include -->    
        <!-- 用途:用于引入外部子文件,将其内容插入本文件。-->
        <!-- 假设有子文件struts-login.xml,内容如下:
        <?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="LoginActions" extends="struts-default">         
                <action name="login" class="actions.LoginAction">
                    <result name="success">index.jsp</result>
                </action>
            </package>
        </struts>    
        -->
        <include file="struts-login.xml"/>
        
        <!-- 二、constant -->    
        <!-- 用途:所有在struts.properties文件中定义的属性,都可以配置在struts.xml文件中。-->    
        <constant name="struts.devMode" value="true"/>    
        
        <!-- 三、package -->    
        <!-- 用途:管理interceptor、action、exception配置信息的。-->    
        <package name="SQLActions">
        
            <!-- 3.1 interceptor -->    
            <!-- 用途:管理interceptor配置信息的。-->
            <!-- 对应的就有<default-interceptor-ref name="defaultStack"/>-->    
            <interceptors>
                 <!-- 过滤器 -->
                 <interceptor name="security" class="com.company.security.SecurityInterceptor"/>
                 <!-- 过滤器栈,执行顺序按先后 -->
                 <interceptor-stack name="secureStack">
                    <interceptor-ref name="security"/>
                    <!-- struts2默认过滤器,定义在struts.jar包中的struts-default.xml -->
                    <interceptor-ref name="defaultStack"/>
                 </interceptor-stack>
            </interceptors>    
            
            <!-- 3.2 action -->    
            <!-- 用途:管理action配置信息的。-->
            <!-- 对应就有默认的action<default-action-ref name="UnderConstruction"/>-->    
               <!-- 定义处理请求URL为login.action的Action -->
            <action name="userLogin" class="org.qiujy.web.struts2.action.LoginAction">            
                <!-- 定义初始化参数-->
                <param name="actionName">LoginInput</param>
                
                <!-- 定义处理结果,对应就有全局结果 <global-results>  -->
                <!-- result type表示接下来做什么,默认是dispatcher -->
                <result name="success" type="dispatcher">/success.jsp</result>
                <result name="error">/error.jsp</result>
                
                <!-- 定义异常处理,对应就有全局异常处理 <global-exception>  -->
                <exception-mapping exception="java.IO.Exception" result="error"/>
                           
                <!-- interceptor的执行代码包裹着action的执行代码,执顺序详细见下面参考文章地址-->
                <interceptor-ref name="securityStack"/>
            </action>
            
            
        </package> 
    </struts>

    三、参考文章

    Struts2 API官网:http://struts.apache.org/release/2.2.x/docs/core-developers-guide.html

    struts2 struts.xml的详细解析1:http://www.cnblogs.com/fmricky/archive/2010/05/20/1740479.html

    struts2 struts.xml详细解析2:http://blog.csdn.net/zz_mm/article/details/5460397

    struts2 拦截器的执行顺序:http://takeme.iteye.com/blog/1651498

  • 相关阅读:
    第52周二Restful
    第52周一
    第51周日
    第51周六
    第51周五
    第51周四
    第51周三
    第51周二
    第51周一
    第50周日
  • 原文地址:https://www.cnblogs.com/muffe/p/3502371.html
Copyright © 2011-2022 走看看