zoukankan      html  css  js  c++  java
  • 2.Struts2配置文件

    1.配置文件的加载顺序

    0. 需要掌握
            * 加载了哪些个配置文件(重点的)
            * 配置文件的名称是什么
            * 配置文件的位置
            * 配置文件的作用

    1. Struts2框架的核心是StrutsPrepareAndExecuteFilter过滤器,该过滤器有两个功能
            * Prepare        -- 预处理,加载核心的配置文件
            * Execute        -- 执行,让部分拦截器执行
        
    2. StrutsPrepareAndExecuteFilter过滤器会加载哪些配置文件呢?
            * 通过源代码可以看到具体加载的配置文件和加载配置文件的顺序
                * init_DefaultProperties();                 -- 加载org/apache/struts2/default.properties
                * init_TraditionalXmlConfigurations();        -- 加载struts-default.xml,struts-plugin.xml,struts.xml
                * init_LegacyStrutsProperties();            -- 加载自定义的struts.properties.
                * init_CustomConfigurationProviders();        -- 加载用户自定义配置提供者
                * init_FilterInitParameters() ;                -- 加载web.xml
        
    3. 重点了解的配置文件
            * default.properties        -- 在org/apache/struts2/目录下,代表的是配置的是Struts2的常量的值
            * struts-default.xml        -- 在Struts2的核心包下,代表的是Struts2核心功能的配置(Bean、拦截器、结果类型等)
            * struts.xml                -- 重点中的重点配置,代表WEB应用的默认配置,在工作中,基本就配置它就可以了!!(可以配置常量)
            * web.xml                    -- 配置前端控制器(可以配置常量)
            
            * 注意:
                * 前3个配置文件是struts2框架的默认配置文件,基本不用修改。
                * 后3个配置文件可以允许自己修改struts2的常量。但是有一个特点:后加载的配置文件修改的常量的值,会覆盖掉前面修改的常量的值。
        
    4. 总结(重点掌握的配置文件)
            * 先加载default.properties文件,在org/apache/struts2/default.properties文件,都是常量。
            * 又加载struts-default.xml配置文件,在核心的jar包最下方,struts2框架的核心功能都是在该配置文件中配置的。
            * 再加载struts.xml的配置文件,在src的目录下,代表用户自己配置的配置文件
            * 最后加载web.xml的配置文件
            
            * 后加载的配置文件会覆盖掉之前加载的配置文件(在这些配置文件中可以配置常量)
        
    5. 注意一个问题
            * 哪些配置文件中可以配置常量?
                * default.properties        -- 默认值,咱们是不能修改的!!
                * struts.xml                -- 可以配置,开发中基本上都在该配置文件中配置常量
                * struts.properties            -- 可以配置,基本不会在该配置文件中配置
                * web.xml                    -- 可以配置,基本不会在该配置文件中配置

    2.(struts.xml)配置文件的基本配置

        <!-- 包结构 -->
        <package name="default" namespace="/" extends="struts-default">
            <!-- 配置Action -->
            <action name="helloStruts2" class="com.struts2.web.action.HelloAction" method="hello" >
                <!-- 配置跳转的页面,路径的写法:在Struts2框架中,不管是转发还是重定向,都不用写项目名 -->
                <result name="success">/jsp/success.jsp</result>
            </action>
        </package>

    1.<package>标签:如果要配置<action>的标签,那么必须先要配置<package>标签,代表包的概念 

    包含的属性:

      name:-------------------包的名称,要求是唯一的,管理action的配置

      namespace:-------------名称空间,一般与<action>标签中的name属性共同决定访问路径

        namespace="/"------根命名空间(经常使用

        namespace="/aaa'---带有名称的命名空间

      exetends:---------------继承,可以继承其他的包,只要继承了,那么该包就包含了其他包的功能,一般都是继承"struts-default"

      abstract:----------------抽象的,值如果是true,代表编写的包是被继承的(基本很少使用

    2.<action>标签:代表配置的action类

      name:-------------------和<package>标签的namespace属性一起决定访问的路径

      class:--------------------配置actionaction类的全路径(默认值是ActionSupport类)

      method:-----------------action类中执行的方法(默认值是execute)

    3.<result>标签:action中类方法的执行,返回结果跳转的页面

      name:-------------------action类方法中返回的String

      type:--------------------跳转方式(默认是请求转发,也可以是其他的值)

    3.配置文件配置常量

    1.可以配置常量的配置文件

      struts.xml:(开发中经常配置常量的位置

        <constant name="key" value="value" />

      web.xml:

        在StrutsPrepareAndExecuteFilter配置文件中配置初始化参数

      注意:后加载的配置的文件的常量会覆盖之前加载的常量!

    2.常用常量

      * struts.i18n.encoding=UTF-8 -- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法

      * struts.action.extension=action,, -- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开

      * struts.serve.static.browserCache=true -- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭

      * struts.configuration.xml.reload=false -- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用)

      * struts.devMode = false -- 开发模式下使用,这样可以打印出更详细的错误信息

    4.指定多个配置文件(了解)

    可以在<package>标签中,使用<include>标签来引入其他的struts_xx.xml的配置文件。例如:
        <struts>
            <include file="struts-part1.xml"/>
            <include file="struts-part2.xml"/>
        </struts>
     file下的路径应该为全路径,com/xx/xx.xml
  • 相关阅读:
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:强制元素显示
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:清除浮动
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:设置元素为 display:block 并居中显示
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:元素浮动到右边
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:元素浮动到左边
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:表格单元格使用了 "bg-danger" 类
    C语言常见命名规范
    Method and apparatus for establishing IEEE 1588 clock synchronization across a network element comprising first and second cooperating smart interface converters wrapping the network element
    MVC5 Controller构造方法获取User为空解决方法
    C#中AssemblyInfo.cs文件详解
  • 原文地址:https://www.cnblogs.com/NEWHOM/p/6781944.html
Copyright © 2011-2022 走看看