目录
一、软件开发中的框架的概念
- 软件的框架是解决软件开发过程中存在的普世性的问题, 框架可以看成是软件开发的半成品。
- 框架开发过程中, 我们需要加入自己的业务场景和逻辑, 然后完成一个成品的软件开发。 在使用框架开发的过程中需要遵循框架的约定和规范。
- 每一种框架都有自己专注的领域问题。
- 使用框架开发的好处: 提高软件开发的效率。
二、Struts2框架简介
- Struts2是apache软件基金会旗下的一款开源的MVC框架产品。Struts2的前身是由Struts1以及webwork发展而来。
- Struts2框架的主要作用: Struts2是解决JavaWeb开发中, 控制器层问题的框架技术。 底层是对Servlet进行的封装。
- 控制器层开发需要解决的问题
3.1 获取客户端请求参数
3.2 调用Service业务功能,进行业务的处理
3.3 使用作用域管理数据
3.4 跳转 - Servlet作为控制器存在哪些缺陷
public class HelloServlet extends HttpServlet{
public void service(…)…{
// 获取请求参数 : 每获取一个请求参数,都需要书写req.getParameter(…),这个操作时冗余的
// 如果我们需要的是整数或小数类型, 需要手动完成数据类型的转换 。
String str = request.getParameter(“name”);
Integer.valueOf(…) / Double.valueOf(…)
// 调用Service: 如果service需要的参数是一个对象,我们需要手动将零散的数据封装成对象 。
// 作用域管理数据
// 跳转 : 跳转的视图资源书写在程序当中了
}
}
4.1 获取参数的操作冗余
4.2 需要手动完成数据类型转换
4.3 需要手动将零散数据封装成对象
4.4 跳转的视图写死在程序当中了(Struts2团队认为这种硬编码的方式,在程序中书写跳转视图资源不好) - Struts2作为控制器的开发核心思路
三、使用Struts2开发
- 获取Struts2框架:https://struts.apache.org/ 官网下载Struts2框架。
- Struts2框架资源包的目录:
- 使用Struts2开发第一个案例
3.1 搭建开发环境
① 引入jar包 :
② 引入配置文件 : 引入Struts2框架开发的核心配置文件 struts.xml
配置文件放置位置: src的根目录下。
③ 初始化配置 : 编写web.xml, 配置Struts2的前控制器,开启Struts2框架的功能。
3.2 开发控制器
① 编写类实现Action接口
② 编写struts.xml
四、Struts2的action实现类是单例还是多例?
Struts2的action实现类是多例的,每一次请求都会创建一个新的action实例对象。
五、获取原生ServletAPI对象
- 使用ServletActionContext工具类:
六、Struts2中跳转的控制
- action到JSP的跳转
2.action到action的跳转
六、以package的方式设计管理action
- 为了方便将不同的类型action进行分类的集中管理, Struts2提出了package的概念。 实际开发中我们可以将针对于不同表操作的action,单独的配置到不同的package中。
- 跨包跳转
七、Struts2的收参机制
- Struts2是采用成员变量接收客户端请求参数。
- 案例演示:
2.1 接收JDK八种基本数据类型和字符串类型参数
2.2 接收日期类型
2.3 自定义对象类型参数的接收
2.4 list集合或数组类型参数接收
八、总结
-
Struts2核心入口过滤器: StrutsPrepareAndExecuteFilter
-
获取原生SerlvetApi: ServletActionContext工具类使用
-
跳转控制:
-
收参:
4.1 成员变量接收请求参数:
变量类型: 书写你需要的类型
变量名: 与客户端提交参数的key对应
4.2 必须提供公开的getset方法
九、struts2整合JDBC开发
- 搭建开发环境
1.1 引入依赖jar
struts2开发的jar包 以及 ojdbc6.jar
1.2 引入配置文件
struts.xml // 放到src根目录下
jdbc.properties
1.3 初始化配置
编写web.xml配置 struts2的前控制器: 核心入口过滤器 StrutsPrepareAndExecuteFilter - 编码
2.1 建表
2.2 封装实体类
2.3 编写DAO
2.4 编写Service
2.5 编写action
2.6 编写JSP