1.5 Struts2的执行流程
1.5.1 分析Struts2的执行流程
1.5.1.1 Struts2的执行流程
当用户访问某一个Action的时候,先经过核心过滤器,在核心过滤器中执行一组拦截器(这组拦截器实现部分功能),执行目标Action,根据Action的返回值,进行页面跳转。
1.6 Struts2的常见配置
1.6.1 XML的提示问题
1.6.1.1 配置XML的提示
1.6.2 Struts2的配置文件的加载顺序(了解)
1.6.2.1 Struts2的配置文件加载顺序
init_DefaultProperties() ----加载default.properties
init_TraditionalXmlConfigurations(); ----加载struts-default.xml、struts-plugin.xml、struts.xml
init_LegacyStrutsProperties(); ----加载struts.properties
init_CustomConfigurationProviders(); ----加载配置提供类
init_FilterInitParameters() ; // [6] ----加载web.xml中过滤器初始化参数
init_AliasStandardObjects() ; // [7] ----加载Bean对象
1.6.2.2 加载顺序
default.properties
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
注意:后配置的常量的值会覆盖先配置的常量的值。
1.6.3 Action的配置
1.6.3.1 package相关配置
package标签称为包,这个包与Java中的包的概念不一致。包为了更好管理action的配置。
package标签的属性
name :包的名称,只有在一个项目中不重名即可。
extends :继承哪个包,通常值为struts-default。
namespace :名称空间,与标签中的name属性共同决定访问路径。
名称空间有三种写法:
带名称的名称空间 :namespace=”/aaa”
跟名称空间 :namespance=”/”
默认名称空间 :namespace=””
abstract :抽象的,用于其他包的继承。
1.6.3.2 action相关配置
action标签配置Action类。
action标签的属性
name :与namespace共同决定访问路径
class :Action类的全路径
method :执行Action中的哪个方法的方法名,默认值execute
converter :用于设置类型转换器
1.6.4 常量的配置
1.6.4.1 Struts2的常量配置
在Struts2的框架中,提供了非常多的常量:(在default.properties)
struts.i18n.encoding=UTF-8 ----Struts2中所有的post请求的中文乱码不用处理。
struts.action.extension=action, ----Struts2请求的默认的扩展名。默认扩展名是.action或者什么都不写。
在Struts2中修改一些常量的值:
修改常量的值,可以有三个位置进行修正
struts.xml中进行修改
struts.properties中进行修改
web.xml中进行修改
1.6.5 分模块开发的配置
1.6.5.1 include的配置
1.7 Action的访问
1.7.1 Action的写法
1.7.1.1 Action类是POJO的类
1.7.1.2 Action类实现一个Action的接口
###### 1.7.1.3 Action类继承ActionSupport类
1.7.2 Action的访问
1.7.2.1 通过method设置
1.7.2.2 通过通配符的方式进行配置(*****)
1.7.2.3 动态方法访问
开启动态方法访问
编写访问路径