配置文件信息:
| 名称 | 位置 | 内容 | 能否能直接修改 |
| default.properties | struts2-core-2.3.jar/org/apache/struts2/default.properties | 通过属性的形式配置struts2的参数 | 不能 |
| struts-default.xml | struts2-core-2.3.jar/struts-default.xml | 该文件是struts2的核心配置文件(包括拦截器和结果返回值类型) | 不能 |
| struts-plugin.xml | 位于插件包中 | 插件相关配置 | 不能 |
| struts.xml | 自己创建, 位于classpath中 | 应用配置文件 | 必须配置修改 |
| struts.properties | 自己创建, 位于classpath中(一般不使用.properties的形式) | 应用配置文件 | 能 |
注意: 以上的配置文件在服务器启动时就会被加载, 有加载的顺序(后面的文件的配置属性如果跟前面的系统文件的配置属性相同, 则会将前面的配置属性覆盖, 达到修改的目的)
加载顺序: default.properties-->struts-default.xml-->struts-plugin.xml-->struts.xml-->struts.properties
default.properties:
| 参数名称 | 参数默认值 | 说明 |
| struts.i18n.encoding | UTF-8 | 框架使用的编码 |
| struts.action.extension | action,, | 请求后缀名为action |
| struts.serve.static.browserCache | true | 是否使用浏览器的静态缓存 |
| struts.configuration.xml.reload | false | 是否热部署 |
| struts.devMode | false | 是否是开发者模式 |
在struts.xml文件中修改"struts.action.extension"属性, 覆盖"default.properties"文件中的"struts.action.extension"属性.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!--
修改"struts.action.extension"属性
-->
<constant name="struts.action.extension" value="do,,"></constant>
<package name="hello" extends="struts-default">
<action name="hello" class="com.rl.action.HelloAction" method="hello">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
struts-default.xml:
该文件是struts的核心文件, 里面提供了返回类型、拦截器和业务bean
resultType:

interceptors:

重点: struts.xml:
该文件是开发人员需要编写的文件.
包: package
是按照项目模块来划分的单元, 用于区分模块(权限模块/订单模块...)
属性:
name: 包的名称
extends: 包的继承, 默认情况下都必须要继承"struts-default", 否则无法使用struts框架
abstract: 默认为false, 设置为true则是抽象包, 抽象包中不能有action, 其他的都能有
namespace: 命名空间, "/...", 给模块命名, 请求路径则需要加入该名称, 用于区分不同包的相同的action的情况
动作: action
action是每次请求所访问的方法
属性:
name: 必须存在, 该name在同一个package中是唯一的
class: 指定具体要访问的方法的所在类
method: 要访问的方法的名称
结果: result
result是指要跳转的视图
属性:
name: 唯一的, action返回具体哪个视图是由action的方法的String类型返回值和result视图的name的属性值来做匹配的
type: 跳转视图的方式(包括请求转发/重定向/跳转其他action), 默认情况是请求转发(地址栏不变)
297

被折叠的 条评论
为什么被折叠?



