六、Struts2的配置文件
六、Struts2的配置文件
1、default.properties:在struts2-core-**.jar的org.apache.struts包中
关于Struts2一些常量配置(框架内部)
- struts-default.xml:在struts2-core-**.jar中。(框架内部)
定义了一些bean;
定义了一个抽象的包:struts-default
定义了一些结果视图
定义了一些拦截器和拦截器小组
- struts-plugin.xml :在struts2的第三方插件中(插件内部)
- struts.xml:用户自己编写的(重点)
- struts.properties:用户自己编写的(类路径中。不需要)
- 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的配置文件的更多相关文章
- 【学习笔记】Struts2之配置文件struts.xml
在默认情况下,Struts2只自动加载类加载路径下的struts.xml.default-struts.xml和struts-plugin.xml三类文件.但是随着应用规模的增大,系统中Action数 ...
- struts2默认配置文件 struts-default.xml
注:用的struts2的版本是2.1.6 strtus2的默认配置文件 struts-default.xml ,其中的默认的拦截器,包括其中的拦截器栈. 因为struts2的配置文件struts.xm ...
- (转)struts2.0配置文件、常量配置详解
一.配置: 在struts2中配置常量的方式有三种: 在struts.xml文件中配置 在web.xml文件中配置 在sturts.propreties文件中配置 1.之所以使用struts.prop ...
- struts2的配置文件
struts2的配置文件 1.配置Action的struts.xml 2.配置Struts2有关属性的struts.properties
- struts2在配置文件与JSP中用OGNL获取Action属性
参考:Struts与OGNL结合 struts2在配置文件中可以调用Action的属性,在JSP页面也可以取出Action的属性值(前提是属性有get,set方法). 第一个例子: 1.Action中 ...
- Struts2的配置文件中, <package>的作用,<action><result>重名?
问:Struts2的配置文件中, <package>的作用是什么? 答:防止action重名啊,例如前台和后台,总会有很多地方起名重复的! 问:可是访问的时候,不也是访问action吗,能 ...
- Struts2 资源配置文件国际化
Struts2 资源配置文件国际化 Struts2资源文件的命名规范:basename_language_country.properties Struts2国际化如果系统同时存在资源文件.类文件,系 ...
- struts2总结六: Struts2的拦截器
一.Struts2的系统结构图
- Struts2(二)——配置文件struts2.xml的编写
接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中 ...
随机推荐
- Ubuntu14.10 更新源,现在很多源已经停用了建议使用ubuntu15以上
http://cdimage.ubuntu.com/ubuntukylin/releases/15.10/release/ 不同的网络状况连接以下源的速度不同, 建议在添加前手动验证以下源的连接速度( ...
- mysql基础语法之(全文索引)
1.概要 InnoDB引擎对FULLTEXT索引的支持是MySQL5.6新引入的特性,之前只有MyISAM引擎支持FULLTEXT索引.对于FULLTEXT索引的内容可以使用MATCH()…AGAIN ...
- CentOS yum安装和配置MySQL(转载)
From:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html] 一.MySQL简介 说到数据库,我们大多想到 ...
- c# WMI获取机器硬件信息(硬盘,cpu,内存等)
using System; using System.Collections.Generic; using System.Globalization; using System.Management; ...
- Wex5案例使用JSON传输Thinkphp后端对接,以达成数据正常输出
初步接触Wex5,操作起来还是觉得比较复杂!而且教程不多,让我着实比较烦躁! 因此自己动手丰衣足食!还是比较实在的! 采用版本:WeX5应用快速开发框架V3.5正式版 我们使用Wex5的仿淘宝APP案 ...
- Linux文件夹文件创建、删除
Linux删除文件夹命令 linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可.直接rm就可以了,不过要加两个参数-rf 即:rm ...
- 【Python】迭代器、生成器、yield单线程异步并发实现详解
转自http://blog.itpub.net/29018063/viewspace-2079767 大家在学习python开发时可能经常对迭代器.生成器.yield关键字用法有所疑惑,在这篇文章将从 ...
- SQL Server设置主键自增长列
1.新建一数据表,里面有字段id,将id设为为主键 create table tb(id int,constraint pkid primary key (id)) create table tb(i ...
- maya user guider第一课,一些基本概念
1.maya主要用于建模,动画, 视觉特效,游戏, 和模拟 一般分为以下几类: l 建模: ploygons, nurbs, subdivision surfaces 这是不同的建模方法. po ...
- 软件测试入门——测试模型(V型 W型 H型)
软件测试工程师称为“QA”,质量保证者——这是入门的第一点要学习的. 首先看基本的测试模型 1.“V”型 特点:[活动串行]这是一种古老的瀑布模型,反映了实际和测试之间的关系. 局限:仅仅把测试过程作 ...