文章目录
一、Struts2框架的作用
- == Struts2是解决JavaWeb开发中,控制器层问题的框架技术。==底层是对Servlet进行的封装,
- MVC开发模式
- Servlet作为控制器存在哪些缺陷
a. 获取参数的操作冗余
b. 需要手动完成数据类型转换
c. 需要手动将零散数据封装成对象
d. 跳转的视图资源写死在程序当中了 - Struts2作为控制器的开发核心思路
二、使用Struts2开发的步骤
-
获取Struts2框架
-
Struts2框架资源包的目录
-
开发步骤
3.1 搭建开发环境:
①引入jar包
② 引入配置文件:引入Struts2框架开发的核心配置文件 struts.xml
配置文件放置位置:== src的根目录下==。
③ 初始化配置:编写web.xml, 配置Struts2的前控制器,开启Struts2框架的功能。
一定要记住中填写的是StrutsPrepareAndExecuteFilter
个人感觉用法就和过滤器相差不多
3.2 开发控制器
① 编写类实现action接口
有个小细节,在action中获取原生ServletApi对象是通过ServletActionContext工具类,用法就在上图execute方法第一行。
② 编写struts.xml
action的name属性在使用时就是:
http://localhost:8989/项目名/m/login
xml编写时还应注意:
- 如果跳转的是action类,则路径不用加/,如果跳转的是jsp,则前面要加/
- 如果是跨包跳转,还需要写要跳转的目的包的命名空间</ param>
以及要跳转的目的action-name</ param>
三.Sturts2的收参机制
- Struts2是采用成员变量接收客户端请求参数。
- 案例展示
2.1 接收JDK八种基本数据类型和字符串类型参数
2.2 接收日期类型
2.3自定义对象类型参数的接收
2.4 list集合或数组类型参数接收
小结1
- Struts2核心入口过滤器: StrutsPrepareAndExecuteFilter
- 获取原生SerlvetApi: ServletActionContext工具类使用
- 转控制:
- 收参:
4.1 成员变量接收请求参数:
变量类型: 书写你需要的类型
变量名: 与客户端提交参数的key对应
4.2 必须提供公开的getset方法
4. DTD配置
在myeclipse中导入DTD配置文件提示关联
location是DTD的路径
key:-//Apache Software Foundation//DTD Struts Configuration 2.3//EN
address:http://struts.apache.org/dtds/struts-2.3.dtd
5.Struts2接收请求参数机制
1. 通过成员变量接收请求参数:
1.1 成员变量名 与 请求参数的key对应
1.2 成员变量的类型是你需要的类型
1.3 提供公开的getset方法
2. struts2接收请求参数的好处
2.1 自动完成数据类型的转换
2.2 自动将零散的数据封装成对象
2.3 struts2默认设置了POST请求的编码处理,默认是UTF-8编码
-手动设置POST请求提交的编码格式
三、全局跳转
四、成员变量替换request作用域的操作
五、struts2 action实现类开发的另一种方式
1. 继承ActionSupport ,在这个类中默认提供了execute方法的空实现。
六、struts2配置文件中的一些默认值
七、DMI开发模式
1.
DMI开发称为动态方法调用, Struts2框架允许我们在一个action实现类当中编写多个处理客户端请求的方法,每一个方法都可以对应处理一种请求。
2
- 第一种配置方式