Struts2框架(1)
1.Struts2的概念
2.Struts2入门
3.Struts2的执行流程
4.Struts2的常见配置
(1)xml的提示问题
(2)Struts2的配置文件加载顺序
(3)Action的配置
(4)常量的配置
(5)分模块开发的配置
5.Action的访问
(1)Action的写法
(2)Action的访问
1.Struts2的概念
- Struts2是一个基于MVC设计模式的WEB层框架。
- Struts2的内核相对于Struts1来讲已经发生巨大变化。
常见的web层框架
- Struts2
- Struts1
- Webwork
- SpringMVC
Web层框架基于前端控制器模型设计
2.Struts2入门
(1)下载struts2的开发环境 http://struts.apache.org/
(2)解压struts2开发包
- apps :Struts2提供的应用,war文件:web项目打成war包。直接放入到tomcat可以允许。
- docs :Struts2的开发文档和API
- lib :Strtus2框架的开发的jar包
- src :Struts2的源码
(3)创建web项目,引入jar包
- 引入jar包
- struts-blank项目下找jar包
(4)创建一个JSP页面
(5)编写Action类
(6)对Action进行配置
在src下创建(提供)名称叫做struts.xml的配置文件
package里面name的值是可以随便取的,但是不能有重复
namespace与action中name的值合起来就是我们的路径,也就是下面的/hello.action
这里的extends里面的值是固定的
(7)配置前端控制器(核心过滤器)
在web.xml中进行核心过滤器的配置
(8)改写Action中的方法的返回值
(9)改写struts.xml
3.Struts2的执行流程
当用户访问jsp界面跳转到某一个Action的时候,先经过核心过滤器,在核心过滤器中执行一组拦截器(这组拦截器实现部分功能),执行目标Action,根据Action的返回值,进行页面跳转。
4.Struts2的常见配置
(1)xml的提示问题
(2)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对象
- default.properties
- struts-default.xml
- struts-plugin.xml
- struts.xml
- struts.properties
- web.xml
注意:后配置的常量的值会覆盖先配置的常量的值。
(3)Action的配置
1)package相关配置
package标签称为包,这个包与Java中的包的概念不一致。包为了更好管理action的配置。
package标签的属性
1. name :包的名称,只有在一个项目中不重名即可。
2. extends :继承哪个包,通常值为struts-default。
3. namespace :名称空间,与<action>标签中的name属性共同决定访问路径。
也就是namespace和<action>标签中的name属性的值拼接起来就是具体的访问路径
名称空间(namespace )有三种写法:
带名称的名称空间 :namespace=”/aaa”
跟名称空间 :namespance=”/”
默认名称空间 :namespace=””
这三种名称空间的写法从上到下也是找寻的先后顺序(<action>中name的值相同时)
4.abstract :抽象的,用于其他包的继承。
- action标签配置Action类。
- action标签的属性
- name :与namespace共同决定访问路径
- class :Action类的全路径
- method :执行Action中的哪个方法的方法名,默认值execute
- converter :用于设置类型转换器
(4)常量的配置
(5)分模块开发的配置
include的配置
在struts.xml中使用include就可以了
5.Action的访问
Action的写法
1.Action类是POJO的类,POJO类就是很单纯,纯粹的类。没有实现接口也没继承任何其他的类
2.Action类实现一个Action的接口
3.Action类继承ActionSupport类(开发中一般使用这个)
Action的访问
1.通过method设置
2.通过通配符的方式进行配置(*****)
这里的通配符*表示的是_后面.action前面的所有东西
method= “{1}”,表示的是通配符第一个*表示的值
3.动态方法访问