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
2.Struts2配置文件的更多相关文章
- Struts2配置文件详解
解决在断网环境下,配置文件无提示的问题我们可以看到Struts.xml在断网的情况下,前面有一个叹号,这时,我们按alt+/ 没有提示,这是因为” http://struts.apache.org/d ...
- Struts2 配置文件result的name属性和type属性
Struts2 配置文件result的name属性和type属性:Name属性SUCCESS:Action正确的执行完成,返回相应的视图,success是 name属性的默认值: NONE:表示Act ...
- Struts2配置文件模板
<?xml version = "1.0" encoding = "UTF-8"?><!--下面是Struts2配置文件的DTD信息 --&g ...
- Struts2配置文件
Struts2配置文件 简介: 与Struts2相关的配置文件有好几个,常用的有 struts.properties , web.xml, struts.xml等.web.xml中配置Struts2的 ...
- struts2配置文件中action的name属性
struts2配置文件中action的name属性的第一个字符不要加斜杠 <action name="see" class="baoxiuManage_seeAct ...
- Struts2配置文件讲解
解决在断网环境下,配置文件无提示的问题我们可以看到Struts.xml在断网的情况下,前面有一个叹号,这时,我们按alt+/ 没有提示,这是因为” http://struts.apache.org/d ...
- Struts2 配置文件小结
每次写的博文都被管理员都被移出首页,好气!还希望有哪位大神可以指点迷津-- struts2 配置文件的 result 节点 result 节点是 action 节点的子节点,他代表着 action 方 ...
- struts2配置文件的解释
1 <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE struts PUBLIC &quo ...
- struts2配置文件加载顺序
struts2配置文件加载顺序: struts-default.xml/ struts-plugin.xml/ struts.xml/ struts.properties/ web.xml
- (二)Struts2配置文件
一.web.xml文件 web.xml配置文件是一种J2EE配置文件,决定servlet容器的HTTP元素需求如何进行处理.它严格来说不是一个Struts2 配置文件,但它是Struts2 运作所需要 ...
随机推荐
- ionic ios上状态栏和app重叠解决方案
干货文章 ·2018-03-22 01:33:01 官方issues: https://github.com/ionic-team/ionic/issues/13294 解决办法: 1.在 confi ...
- 【扯淡篇】CTSC/APIO/SDOI R2时在干什么?有没有空?可以来做分母吗?
注意: 我比较弱, 并没有办法把外链bgm搞成https, 所以大家可以选择"加载不安全的脚本"或者把https改成http以获得更好的阅读体验! 据说, 退役了要写写回忆录. 但 ...
- 1、Spring MVC的web.xml配置详解(转)
版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u010796790 1.spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilt ...
- react 的生命周期函数
生命周期函数: 是指在某一时刻组件自动执行 的函数 初始化: 设置props和state mounting: componentWillMount 在组件即将被挂载到页面的时候自动执行 render ...
- 关系型数据库---MYSQL---系统学习
1.概述 1.1 mysql数据库是一种 客户端/服务器体系 的 数据库系统: 服务器部分 在启动运行后没有人机界面,所以终端用户 无法直接使用MySQL: 对MySQL数据库进行访问.操作 ...
- Tool ALL Framework
//https://www.cnblogs.com/jiftle/p/10895260.html C++ 资源大全 关于 C++ 框架.库和资源的一些汇总列表,内容包括:标准库.Web应用框架.人工智 ...
- 【LeetCode 18】四数之和
题目链接 [题解] 两重循环枚举[i..j]这个区间 同时规定必取nums[i]和nums[j] 那么现在的问题就变成在下标为[i..j]这个区间的数字里面找两个数字使他们的和为target-nums ...
- homebrew -- mac os 系统下的 apt-get、yum
linux下有很方便的包管理器如:apt-get.yum,mac下也有类似的工具:Homebrew 和 Fink.MacPort.Flink是直接编译好的二进制包,MacPorts是下载所有依赖库的源 ...
- (转)深刻理解Linux进程间通信(IPC)
转:http://www.ibm.com/developerworks/cn/linux/l-ipc/index.html 序 linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来 ...
- JS 变量 相关内容
JS变量按存储方式区分为哪些类型?: js变量按照存储方式分为两种类型:值类型 和 引用类型 1.值类型(基本类型): 布尔值(boolean) . null .undefined .数值(numbe ...