六、Struts2的配置文件

1、default.properties:在struts2-core-**.jar的org.apache.struts包中

关于Struts2一些常量配置(框架内部)

  1. struts-default.xml:在struts2-core-**.jar中。(框架内部)

    定义了一些bean;

    定义了一个抽象的包:struts-default

    定义了一些结果视图

    定义了一些拦截器和拦截器小组

  2. struts-plugin.xml :在struts2的第三方插件中(插件内部)
  3. struts.xml:用户自己编写的(重点)
  4. struts.properties:用户自己编写的(类路径中。不需要)
  5. web.xml:struts2的一些配置可以写在这(Web应用中。不需要)

    结论:1~6:后面的配置文件内容,会覆盖前面的。

    比如:在struts.xml中覆盖default.properties中的内容,可以这么办:

    <constant
    name="struts.action.extension"
    value="do"></constant>

    比如:在web.xml中把访问的扩展名改为itheima

    <filter>

        <filter-name>struts2</filter-name>

        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

        <init-param>

            <param-name>struts.action.extension</param-name>

            <param-value>itheima</param-value>

        </init-param>

    </filter>

     

    6.1struts.xml中的package元素:

    package:方便管理动作

    属性:

    name:配置文件中唯一

    namespace:取值一般以"/"开头,它与动作名称组成完成的访问路径。默认值是""。

    extends:父包名称。把父包中定义的内容完全继承下来。一般情况下,在struts2开发中需要继承(直接或间接)struts-default(struts-default.xml)

    abstract:抽象包。抽象的东西就是设计被别人继承的。没有任何action子元素的packkage就可以定义为抽象的。

    package的namespace和动作访问专题:(小难点)

     

    区分:namespace="/",实实在在的一个名称空间。绝对不是默认的:namespace=""或者不写

     

    6.2struts.xml中action元素的配置

    作用:定义动作类

    属性:

  • class:动作类的全名。默认值是com.opensymphony.xwork2.ActionSupport

    因为struts-default.xml有指定。

    <default-class-ref class="com.opensymphony.xwork2.ActionSupport" />

  • method:指定动作类中的哪个方法。默认值是execute

 

小知识:

可以在自己的package中通过以下标签,指定默认的动作类

<default-class-ref
class="com.itheima.action.HelloAction"></default-class-ref>

 

6.3strutx.xml中的result元素的默认配置

作用:定义动作类执行完毕后转向的结果视图

属性:

name:结果视图的名称。与当前的动作类的动作方法返回值对应。默认值是success

type:结果视图的类型。默认是dispatcher.(转发)

来自:struts-default.xml中的结果视图的定义。

 

6.4struts2的一些常量含义及配置

 

覆盖这些框架的默认值:struts.xml

<constant
name="struts.action.extension"
value="do"></constant>

 

  • struts.i18n.encoding=UTF-8    框架使用的编码
  • struts.action.extension=action,,    动作的访问后缀。多个可以使用逗号分隔
  • struts.serve.static.browserCache=true    指示浏览器是否缓存资源
  • (原理:三个响应消息头:Expires Cache-Control Pragma)
  • struts.configuration.xml.reload = true 是否在更改了struts.xml后自动重新加载。开发阶段有用。
  • struts.devMode = false        是否是开发模式。开发阶段建议为true。如果为true,struts.configuration.xml.reload就会为true
  • struts.ui.theme=xhtml    指定页面用的主题(struts标签时介绍)
  • struts.objectFactory = spring    默认情况,Action都是struts2框架给我们创建的(ObjectFactory,实例工厂)。与Spring框架整合时用。
  • struts.enable.DynamicMethodInvocation = false 是否允许DMI(动态方法调用:Dynamic Method Invocation)。
  • struts.multipart.maxSize=2097152 指定文件上传时的大小限制。2M

6.4配置文件分模块化

引入外部的struts.xml配置文件(xml声明和根元素一致)

<include
file="user.xml"></include>

六、Struts2的配置文件的更多相关文章

  1. 【学习笔记】Struts2之配置文件struts.xml

    在默认情况下,Struts2只自动加载类加载路径下的struts.xml.default-struts.xml和struts-plugin.xml三类文件.但是随着应用规模的增大,系统中Action数 ...

  2. struts2默认配置文件 struts-default.xml

    注:用的struts2的版本是2.1.6 strtus2的默认配置文件 struts-default.xml ,其中的默认的拦截器,包括其中的拦截器栈. 因为struts2的配置文件struts.xm ...

  3. (转)struts2.0配置文件、常量配置详解

    一.配置: 在struts2中配置常量的方式有三种: 在struts.xml文件中配置 在web.xml文件中配置 在sturts.propreties文件中配置 1.之所以使用struts.prop ...

  4. struts2的配置文件

    struts2的配置文件 1.配置Action的struts.xml 2.配置Struts2有关属性的struts.properties

  5. struts2在配置文件与JSP中用OGNL获取Action属性

    参考:Struts与OGNL结合 struts2在配置文件中可以调用Action的属性,在JSP页面也可以取出Action的属性值(前提是属性有get,set方法). 第一个例子: 1.Action中 ...

  6. Struts2的配置文件中, <package>的作用,<action><result>重名?

    问:Struts2的配置文件中, <package>的作用是什么? 答:防止action重名啊,例如前台和后台,总会有很多地方起名重复的! 问:可是访问的时候,不也是访问action吗,能 ...

  7. Struts2 资源配置文件国际化

    Struts2 资源配置文件国际化 Struts2资源文件的命名规范:basename_language_country.properties Struts2国际化如果系统同时存在资源文件.类文件,系 ...

  8. struts2总结六: Struts2的拦截器

    一.Struts2的系统结构图

  9. Struts2(二)——配置文件struts2.xml的编写

    接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中 ...

随机推荐

  1. 怎么安装phpcms?PHPCMS V9安装图文教程

    Phpcms是国内领先的网站内容管理系统, 同时也是一个开源的PHP开发框架.PHPCMS V9目前已提供文章.图片.下载等内容模型,在此基础上可非常方便的扩展出信息.房产.交友.点评等功能.已有的模 ...

  2. java多线程之AtomicInteger

    AtomicInteger原子操作实现同步 package Thread.Common; import java.util.Timer; import java.util.TimerTask; imp ...

  3. 一起刑事案件法庭辩护 z

    [案件地位]  这是一起各方争议很大的刑事案件.侦查机关曾将该案以非法拘禁罪立案侦查,以故意杀人罪移送检察机关审查起诉,公诉机关以非法拘禁形成故意伤害(致死)起诉,而法院最终以故意伤害罪判决,并且排除 ...

  4. linux内核hash list

    源码: #ifndef _LINUX_HLIST_H #define _LINUX_HLIST_H /* * Double linked lists with a single pointer lis ...

  5. Flask + Gunicorn + Nginx 部署

    最近很多朋友都在问我关于 Flask 部署的问题,说实在的我很乐意看到和回答这样的问题,至少证明了越来越多人开始用 Flask 了. 之前我曾发表过一篇在 Ubuntu 上用 uwsgi + ngin ...

  6. NYOJ 55-懒省事的小明

    点击打开链接 懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果 ...

  7. java类的高级特性

    1.非内部类不能被声明为private 或protected访问类型.

  8. 访问控制符private,default,protect和public

    程序,通过封装以实现"高内聚,内耦合". 个人理解,类内,包内,子类和所有类,是java的四个范围. private表示作用区域为类内,即只是自己(像牙刷). default表示作 ...

  9. 《Code Complete》ch.20 软件质量概述

    WHAT & WHY ? 软件质量的特性 外在特性 正确性(Correctness) 可用性(Usability) 效率(Efficiency) 可靠性(Reliability) 完整性(In ...

  10. DP编辑距离

    俄罗斯科学家Vladimir Levenshtein在1965年提出了编辑距离概念. 编辑距离,又称Levenshtein距离,是指两个字符串之间,由一个转成另一个所需的最少编辑操作次数.许可的三种编 ...