1. 常用属性文件
属性文件 | 用途 |
---|---|
default.properties | 配置struts2参数,无法直接修改,但可以覆盖 |
struts-default.xml | struts-default.xml |
struts.xml | 需要开发人员编写的配置文件(配置action) |
struts-plugin.xml | 每一个插件包中都有这样一个插件信息文件 |
struts.properties | 可以替代struts.xml,但功能略低 |
2. default.properties
default.properties一般用于配置struts2相关参数,如:编码、访问后缀、浏览器缓存、热部署等。不可以直接修改,但可以间接覆盖。
tips:default.properties文件中有一些比较常用的属性配置如:
2.1 默认编码
struts.i18n.encoding=UTF-8 默认编码为UTF-8
2.2 后缀名
struts.action.extension=action, 请求的后缀名可以是.action或者为空
2.3 浏览器缓存
struts.serve.static.browserCache=true 默认开启浏览器缓存(小图片,验证码等)
2.4 热部署
struts.devMode = false 冷部署:每次修改需要重启服务器,改为true就变为热部署
2.5 覆盖default.properties
default.properties文件无法直接修改,但是可以覆盖这些默认配置,方法有两种
2.5.1 覆盖
在struts.xml文件中配置一个来覆盖配置,如:
<struts>
<constant name="struts.action.extension" value="do,,"></constant>
<package name="package1" extends="struts-default">...</package>
</struts>
2.5.2 struts.properties覆盖
在classpath下新建一个struts.properties文件来覆盖配置,如:
struts.action.extension=do,
struts.locale=zh_CN
struts.i18n.encoding=UTF-8
struts.devMode = true
struts.ui.theme=simple
struts.serve.static.browserCache=true
tips:推荐第二种,分离配置,我们可以把相关配置,都放到struts.properties文件中.
3. struts-default.xml
struts-default.xml文件是struts的核心文件,提供了结果的返回类型和拦截器等,位于Referenced Libraries下的struts2-core-2.xx.xxjar包中。对于这个文件,我们关心的只有两部分内容:结果的返回类型、拦截器。
4. struts.xml
这个文件是开发人员要编写的文件
<struts>
<package name="package1"
extends="struts-default"
abstract="false"
namespace="/model">
<action name="test"
class="com.xhh.action.TestAction"
method="testMethod">
</action>
</package>
</struts>
是XML包,与源码中的包无关,用于分类管理模块,帮助我们按照项目的模块来划分单元。
标签名 | 解释 |
---|---|
name | name是的名,用来区别于其他的 |
extends | 必须直接或者间接继承"struts-default",否则就是一个普通包 |
abstract | 默认为false,如果声明了是抽象包,则不能包含 |
namespace | 命名空间用来解决其他的中有同名的情况,若声明了命名空间,则访问Action的URL必须在Action的name前加上namespace的值。(规定:命名空间的值,必须以"/“开头,如”/model") |
tips:是动作类的映射配置,通过name和class属性值,实例化对应的动作类,再通过method属性,调用该动作类中的方法对应方法。
5. 属性文件的加载顺序
这几个属性文件的加载顺序为:default.properties >> struts-default.xml >> struts-plugin.xml >> struts.xml >> struts.properties,这些文件在服务器启动的时候就会被加载。