课程简介和目标
什么是MVC模式
MVC模式是目前WEB项目主要的项目架构模式,是一种非常优秀的三层架构模式,其三层是指视图层View,控制层Controller和模型层Model,它们分别完成不同的功能
View 层:视图层,用户提供用户的操作页面,是数据的展现层,也是用户接触的界面层
Controller层:控制层,接收视图层的请求数据并作出相应,控制页面跳转和交互逻辑的层面
Model层:模型层,包含处理业务逻辑的的服务部分(Service)和操作持久层的DAO,以及和数据库对应的实体类模型(pojo)。
mvc模式下开发的项目往往具备这样的几个组成部分
1 视图部分,对应MVC的VIEW层,其实就是一些页面,放在项目专门存放页面的位置即可,不同的项目位置稍有差异,一般该层的技术包含HTML CSS JS jQuery 等一些前端技术和框架以及一些 JSP FreeMaker Thymeleaf等模板引擎技术
2 controller包,对应MVC的Controller层,用于专门存放控制层代码,一般该层次技术包含Servlet或者对于Servlet封装之后的框架技术. SpringMVC框架主要就是对于该层次的处理
3 service 包,属于Model层的一部分,专门用于存放模型层计算业务逻辑的代码,在MyBatis-Plus中,也提供了一些对于该层次的基础的业务逻辑的封装
4 dao或者mapper包,也是属于Model层的一部分,专门用于存放操作持久层数据,实现CURD功能的代码,一般该层次的技术包含JDBC以及或者对于JDBC封装的框架技术,包含Hibernate ,MyBatis, MyBatisPlus, JDBCTemplate, JPA等等
5 pojo或者entity包,也是属于Model层的一部分,专门用于存放和数据库表格对应的实体类包,专门用于封装和传递数据,该层次一般设计的技术或者插件有Lombok,序列化等等
6 其他工具或者配置信息等包
SpringMVC的架构
SpringMVC运行流程
1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用处理器映射器HandlerMapping。 3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet。 4.DispatcherServlet根据处理器Handler获取处理器适配器HandlerAdapter执行HandlerAdapter处理一系列的操作,如:参数封装,数据格式转换,数据验证等操作 5.执行处理器Handler(Controller,也叫页面控制器)。 6.Handler执行完成返回ModelAndView 7.HandlerAdapter将Handler执行结果ModelAndView返回到DispatcherServlet 8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器 9.ViewReslover解析后返回具体View 10.DispatcherServlet对View进行渲染视图(即将模型数据model填充至视图中)。 11.DispatcherServlet响应用户。
SpringMVC运行时序
SpringMVC三大组件
DispatcherServlet前端控制器
HandlerMapping处理器映射器
HandlerAdapter处理器适配器
本阶段学习目标
熟悉SpringMVC执行流程
可以搭建SpringMVC项目配置三大组件
熟练进行前后端数据传递和页面跳转控制
能够独立整合SSM项目
能够在SpringMVC项目下实现文件上传下载
熟练使用SpringMVC拦截器
能够使用SpringMVC的异常处理机制
熟练使用所有SpringMVC的常见注解
课程大纲
第一章 SpringMVC简介和项目搭建
SpringMVC简介
SpringMVC项目搭建
SpringMVC配置三大组件和请求访问资源细节问题
SpringMVC支持RESTFUL风格
SpringMVC三大组件
RESTFUL风格
第二章 SpringMVC参数注入问题
注入POJO类型参数
注入Date类型参数
注入List类型参数
注入Map类型参数
参数乱码问题及参数注入相关注解
第三章 SpringMVC 响应相关问题
响应void
请求转发和响应重定向
forward和redirect关键字
ModelAndView的使用
异步响应及JSON的使用
Spring SpringMVC MyBatis整合
请求转发
第四章 文件上传和下载
文件上传
文件下载
文件上传下载
第五章 拦截器,异常处理机制和SpringMVC常见注解总结
拦截器概念引入
拦截器API解释
拦截器执行顺序
异常处理机制简介
异常处理的四种方式
SpringMVC常见注解总结
拦截器