飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

struts2中对配置文件struts-default.xml 的解释

时间:2021-12-14  作者:匿名  

每学习一个框架,我们都免不了要学习一些关于的配置文件,struts2也不例外,下面我就讲一下struts2中几个主要的配置文件。

1) struts-域名

这个文件是struts2框架默认加载的配置文件。它定义struts2一些核心的bean和拦截器。

<?xml version="1.0" encoding="UTF-8" ?>
    
    
    
<!DOCTYPE struts PUBLIC
    
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    
    "http://域名/dtds/struts-域名">
    
    
    
<struts>
    
<!--struts2中工厂bean的定义-->
    
    <bean class="域名域名ctFactory" name="xwork" />
    
    <bean type="域名域名ctFactory" name="struts" class="域名域名tsObjectFactory" />
    
    
    
<bean type="域名域名onProxyFactory" name="xwork" class="域名域名ultActionProxyFactory"/>
    
 <bean type="域名域名onProxyFactory" name="struts"
   class="域名域名tsActionProxyFactory"/>
    
<!--类型检测bean的定义-->
    
<bean type="域名域名ctTypeDeterminer" name="tiger" class="域名域名ricsObjectTypeDeterminer"/>
    
<bean type="域名域名ctTypeDeterminer" name="notiger" class="域名域名ultObjectTypeDeterminer"/>
    
 <bean type="域名域名ctTypeDeterminer" name="struts" class="域名域名ultObjectTypeDeterminer"/>
    
<!--文件上传bean的定义-->
    
<bean type="域名域名域名onMapper" name="struts" class="域名域名域名ultActionMapper" />
    
<bean type="域名域名域名onMapper" name="composite" class="域名域名域名ositeActionMapper" />
    
<bean type="域名域名域名onMapper" name="restful" class="域名域名域名fulActionMapper" />
    
<bean type="域名域名域名onMapper" name="restful2" class="域名域名域名ful2ActionMapper" />
    
    
    
<bean type="域名域名域名iPartRequest" name="struts" class="域名域名域名rtaMultiPartRequest" scope="default" optional="true"/>
    
    <bean type="域名域名域名iPartRequest" name="jakarta" class="域名域名域名rtaMultiPartRequest" scope="default" optional="true" />
    
<!--标签库bean的定义-->
    
    <bean type="域名域名ibrary" name="s" class="域名域名ultTagLibrary" />
    
<!--一些常用视图bean的定义-->
    
    <bean class="域名域名域名markerManager" name="struts" optional="true"/>
    
    <bean class="域名域名域名cityManager" name="struts" optional="true" />
    
    
    
    <bean class="域名域名域名lateEngineManager" />
    
    <bean type="域名域名域名lateEngine" name="ftl" class="域名域名域名markerTemplateEngine" />
    
    <bean type="域名域名域名lateEngine" name="vm" class="域名域名域名cityTemplateEngine" />
    
    <bean type="域名域名域名lateEngine" name="jsp" class="域名域名域名emplateEngine" />
    
<!--类型转换bean的定义-->
    
    <bean type="域名域名kConverter" name="xwork1" class="域名域名kConverter" />
    
    <bean type="域名域名kConverter" name="struts" class="域名域名tationXWorkConverter" />
    
    <bean type="域名域名Provider" name="xwork1" class="域名域名ProviderSupport" />
    
    <bean type="域名域名Provider" name="struts" class="域名域名ProviderSupport" />
    
    
    
    <!--  Struts2中一些可以静态注入的bean,也就是不需要实例化的 -->
    
    <bean class="域名域名ctFactory" static="true" />
    
    <bean class="域名域名kConverter" static="true" />
    
    <bean class="域名域名ValueStack" static="true" />
    
    <bean class="域名域名atcher" static="true" />
    
    <bean class="域名域名ude" static="true" />
    
    <bean class="域名域名erDispatcher" static="true" />
    
    <bean class="域名域名.ContextUtil" static="true" />
    
    <bean class="域名域名.UrlHelper" static="true" />
<!-- 定义Struts2默认包-->
    
    <package name="struts-default" abstract="true">
    
    <!-- 结果类型的种类-->
    
        <result-types>
    
            <result-type name="chain" class="域名域名onChainResult"/>
    
            <result-type name="dispatcher" class="域名域名letDispatcherResult" default="true"/>
    
            <result-type name="freemarker" class="域名域名域名markerResult"/>
    
            <result-type name="httpheader" class="域名域名HeaderResult"/>
    
            <result-type name="redirect" class="域名域名letRedirectResult"/>
    
            <result-type name="redirectAction" class="域名域名letActionRedirectResult"/>
    
            <result-type name="stream" class="域名域名amResult"/>
    
            <result-type name="velocity" class="域名域名cityResult"/>
    
            <result-type name="xslt" class="域名域名.XSLTResult"/>
    
            <result-type name="plainText" class="域名域名nTextResult" />
    
            <result-type name="redirect-action" class="域名域名letActionRedirectResult"/>
    
            <result-type name="plaintext" class="域名域名nTextResult" />
    
        </result-types>
<!--struts2中拦截器的定义-->
    
        <interceptors>
    
        <!--实现在不同请求中相似参数别名的准换-->
    
            <interceptor name="alias" class="域名域名sInterceptor"/>
    
            <!--与Spring整合时自动装配的拦截器-->
    
            <interceptor name="autowiring" class="域名域名域名onAutowiringInterceptor"/>
    
            <!--构建一个action链,使当前action可以访问前一个action,与<result-type="chain" />配合使用-->
    
            <interceptor name="chain" class="域名域名ningInterceptor"/>
    
            <!--负责类型转换的拦截器-->
    
            <interceptor name="conversionError" class="域名域名tsConversionErrorInterceptor"/>
    
            <!--使用配置的name,value来是指cookies -->
    
            <interceptor name="cookie" class="域名域名ieInterceptor"/>
    
           <!--负责创建httpSession-->
    
            <interceptor name="createSession" class="域名域名teSessionInterceptor" />
    
            <!--输出调试信息-->
    
            <interceptor name="debugging" class="域名域名域名ggingInterceptor" />
    
            <!--扩展引用-->
    
            <interceptor name="externalRef" class="域名域名rnalReferencesInterceptor"/>
    
            <!--后台执行action负责发送等待画面给用户-->
    
            <interceptor name="execAndWait" class="域名域名uteAndWaitInterceptor"/>
    
            <!--异常处理-->
    
            <interceptor name="exception" class="域名域名ptionMappingInterceptor"/>
    
            <!--文件上传,解析表单域的内容-->
    
            <interceptor name="fileUpload" class="域名域名UploadInterceptor"/>
    
            <!--支持国际化-->
    
            <interceptor name="i18n" class="域名域名Interceptor"/>
    
           <!--日志记录-->
    
            <interceptor name="logger" class="域名域名ingInterceptor"/>
    
            <!--模型拦截器,当action实现了ModelDriven接口时,负责把getModel的结果放入valueStack中-->
    
            <interceptor name="modelDriven" class="域名域名lDrivenInterceptor"/>
    
            <!--有生命周期的ModelDriven-->
    
            <interceptor name="scopedModelDriven" class="域名域名edModelDrivenInterceptor"/>
    
            <!--负责解析请求中的参数,并赋值给action中对应的属性-->
    
            <interceptor name="params" class="域名域名metersInterceptor"/>
    
            <!--实现该Preparable接口的action,会调用拦截器的prepare方法-->
    
            <interceptor name="prepare" class="域名域名areInterceptor"/>
    
            <!--负责将action 标签下的param参数值传递给action实例-->
    
            <interceptor name="staticParams" class="域名域名icParametersInterceptor"/>
    
            <!--范围转换-->
    
            <interceptor name="scope" class="域名域名eInterceptor"/>
    
            <!--用于访问Servlet API-->
    
            <interceptor name="servletConfig" class="域名域名letConfigInterceptor"/>
    
                
    
            <interceptor name="sessionAutowiring" class="域名域名域名ionContextAutowiringInterceptor"/>
    
            <!--输出action执行时间-->
    
            <interceptor name="timer" class="域名域名rInterceptor"/>
    
            <!--防止表单重复提交-->
    
            <interceptor name="token" class="域名域名nInterceptor"/>
    
            <!--与token拦截器相似,只是把token保存到HttpSession-->
    
            <interceptor name="tokenSession" class="域名域名nSessionStoreInterceptor"/>
    
            <!--负责表单字段的验证 *-域名-->
    
            <interceptor name="validation" class="域名域名域名tationValidationInterceptor"/>
    
            <!--负责执行action的validate()-->
    
            <interceptor name="workflow" class="域名域名ultWorkflowInterceptor"/>
    
            <!--存储和重新获取Action 消息/错误/字段错误为Action,实现ValidationAware接口到seesion-->
    
            <interceptor name="store" class="域名域名ageStoreInterceptor" />
    
            <!--添加自动checkbox处理代码,这样检探测checkbox和添加它作为一个参数使用默认值(通常’false’).使用一个指定名字隐藏字段探测没提交的checkbox-->
    
<interceptor name="checkbox" class="域名域名kboxInterceptor" />
    
<interceptor name="profiling" class="域名域名ilingActivationInterceptor" />
    
            <!--JAAS服务拦截器-->
    
            <interceptor name="roles" class="域名域名sInterceptor" />
    
    
    
            <!-- 一个基本的拦截器栈 -->
    
            <interceptor-stack name="basicStack">
    
                <interceptor-ref name="exception"/>
    
                <interceptor-ref name="servletConfig"/>
    
                <interceptor-ref name="prepare"/>
    
                <interceptor-ref name="checkbox"/>
    
                <interceptor-ref name="params"/>
    
                <interceptor-ref name="conversionError"/>
    
            </interceptor-stack>
    
    
    
            <!-- 简单的validtion和webflow栈 -->
    
            <interceptor-stack name="validationWorkflowStack">
    
                <interceptor-ref name="basicStack"/>
    
                <interceptor-ref name="validation"/>
    
                <interceptor-ref name="workflow"/>
    
            </interceptor-stack>
    
    
    
            <!-- 文件上传的拦截器栈 -->
    
            <interceptor-stack name="fileUploadStack">
    
                <interceptor-ref name="fileUpload"/>
    
                <interceptor-ref name="basicStack"/>
    
            </interceptor-stack>
    
    
    
            <!-- model-driven 栈  -->
    
            <interceptor-stack name="modelDrivenStack">
    
                <interceptor-ref name="modelDriven"/>
    
                <interceptor-ref name="basicStack"/>
    
            </interceptor-stack>
    
    
    
            <!-- action链的拦截器栈 -->
    
            <interceptor-stack name="chainStack">
    
                <interceptor-ref name="chain"/>
    
                <interceptor-ref name="basicStack"/>
    
            </interceptor-stack>
    
    
    
            <!--  i18n 拦截器栈 -->
    
            <interceptor-stack name="i18nStack">
    
                <interceptor-ref name="i18n"/>
    
                <interceptor-ref name="basicStack"/>
    
            </interceptor-stack>
    
    
    
            <!-- 结合preparable和ModenDriven拦截器-->
    
            <interceptor-stack name="paramsPrepareParamsStack">
    
                <interceptor-ref name="exception"/>
    
                <interceptor-ref name="alias"/>
    
                <interceptor-ref name="params"/>
    
                <interceptor-ref name="servletConfig"/>
    
                <interceptor-ref name="prepare"/>
    
                <interceptor-ref name="i18n"/>
    
                <interceptor-ref name="chain"/>
    
                <interceptor-ref name="modelDriven"/>
    
                <interceptor-ref name="fileUpload"/>
    
                <interceptor-ref name="checkbox"/>
    
                <interceptor-ref name="staticParams"/>
    
                <interceptor-ref name="params"/>
    
                <interceptor-ref name="conversionError"/>
    
                <interceptor-ref name="validation">
    
          <param name="excludeMethods">input,back,cancel</param>
    
                </interceptor-ref>
    
                <interceptor-ref name="workflow">
    
           <param name="excludeMethods">input,back,cancel</param>
    
                </interceptor-ref>
    
            </interceptor-stack>
    
    
    
            <!--定义默认的拦截器栈  -->
    
            <interceptor-stack name="defaultStack">
    
                <interceptor-ref name="exception"/>
    
                <interceptor-ref name="alias"/>
    
                <interceptor-ref name="servletConfig"/>
    
                <interceptor-ref name="prepare"/>
    
                <interceptor-ref name="i18n"/>
    
                <interceptor-ref name="chain"/>
    
                <interceptor-ref name="debugging"/>
    
                <interceptor-ref name="profiling"/>
    
                <interceptor-ref name="scopedModelDriven"/>
    
                <interceptor-ref name="modelDriven"/>
    
                <interceptor-ref name="fileUpload"/>
    
                <interceptor-ref name="checkbox"/>
    
                <interceptor-ref name="staticParams"/>
    
                <interceptor-ref name="params">
    
                  <param name="excludeParams">dojo\..*</param>
    
                </interceptor-ref>
    
                <interceptor-ref name="conversionError"/>
    
                <interceptor-ref name="validation">
    
       <param name="excludeMethods">input,back,cancel,browse</param>
    
                </interceptor-ref>
    
                <interceptor-ref name="workflow">
    
       <param name="excludeMethods">input,back,cancel,browse</param>
    
                </interceptor-ref>
    
            </interceptor-stack>
    
    
    
            <interceptor-stack name="completeStack">
    
                <interceptor-ref name="defaultStack"/>
    
            </interceptor-stack>
    
    
    
                
    
            <interceptor-stack name="executeAndWaitStack">
    
                <interceptor-ref name="execAndWait">
    
             <param name="excludeMethods">input,back,cancel</param>
                </interceptor-ref>
    
                <interceptor-ref name="defaultStack"/>
    
                <interceptor-ref name="execAndWait">
    
             <param name="excludeMethods">input,back,cancel</param>
    
                </interceptor-ref>
    
            </interceptor-stack>
    
    
    
                
    
<interceptor name="external-ref" class="域名域名rnalReferencesInterceptor"/>
    
<interceptor name="model-driven" class="域名域名lDrivenInterceptor"/>
    
<interceptor name="static-params" class="域名域名icParametersInterceptor"/>
    
<interceptor name="scoped-model-driven" class="域名域名edModelDrivenInterceptor"/>
    
<interceptor name="servlet-config" class="域名域名letConfigInterceptor"/>
    
<interceptor name="token-session" class="域名域名nSessionStoreInterceptor"/>
     
    
    
    </interceptors>
    
<!--定义默认拦截器为"defaultStack"-->
    
        <default-interceptor-ref name="defaultStack"/>
    
    </package>
    
    
    
</struts>
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。