学习路线:
JavaSE:学习面向对象的概念及特点,类,接口方法等基础知识以及关系型数据库,JDBC的使用和JDBC的简单封装
JavaWeb:学习浏览器和服务器相关的技术,遵循HTTP协议完成浏览器和服务器之间的交互,在WEB工程中使用三层架构完成功能的实现过程,即表现层,业务层,持久层。
SSM:Javaweb在实现指定功能的过程中这些功能都具有相同的模式和流程,因此需要考虑功能扩展,将固定的模式和流程进行封装,提供代码的重用率,需要用到框架。SSM框架整合是目前最流行的框架结构。SpringMVC是SSM框架的重要组成部分。
本次课程主要内容:
IDE :IDEA
构造工具:Maven
Thymeleaf:视图渲染
核心技术:SpringMVC5.3.1版本
目录
一、SpringMVC简介
1、什么是MVC
2、什么是SpringMVC
3、SpringMVC的特点
二、搭建SpringMVC框架
1、开发环境
2、创建maven工程
3、配置web.xml
4、创建请求控制器
5、创建springMVC的配置文件
6、测试HelloWorld
7、总结
三、@RequestMapping注解
1、@RequestMapping注解的功能
2、@RequestMapping注解的位置
3、@RequestMapping注解的value属性
4、@RequestMapping注解的method属性
5、@RequestMapping注解的params属性(了解)
6、@RequestMapping注解的headers属性(了解)
7、SpringMVC支持ant风格的路径
8、SpringMVC支持路径中的占位符(重点)
四、SpringMVC获取请求参数
1、通过ServletAPI获取
2、通过控制器方法的形参获取请求参数
3、@RequestParam
4、@RequestHeader
6、通过POJO获取请求参数
7、解决获取请求参数的乱码问题
五、域对象共享数据
1、使用ServletAPI向request域对象共享数据
2、使用ModelAndView向request域对象共享数据
3、使用Model向rqequest域对象共享数据
4、使用map向request域对象共享数据
5、使用ModelMap向request域对象共享数据
6、Model、ModelMap、Map的关系
7、向session域共享数据
8、向application域共享数据
六、SpringMVC的视图
1、ThymeleafView
2、转发视图
3、重定向视图
4、视图控制器view-controller
七、RESTful
1、RESTful简介
2、RESTful的实现
3、使用RESTFul模拟操作用户资源
模拟get和post请求
HiddenHttpMethodFilter处理put和delete请求
模拟PUT和DELETE请求
八、RESTful案例
1、准备工作
功能清单
2、具体功能:访问首页
3、具体功能:查询所有员工数据
4、具体功能:删除
5、具体功能:跳转到添加数据页面
具体功能:执行保存
6、具体功能:跳转到更新数据页面
9、具体功能:执行更新
八、HttpMessageConverter
1、@RequestBody
2、RequestEntity
3、@ResponseBody
4、SpringMVC处理json
5、SpringMVC处理ajax
6、@RestController注解
7、ResponseEntity
九、文件上传和下载
1、文件下载
2、文件上传
十、拦截器
1、拦截器的配置
2、拦截器的三个抽象方法
3、多个拦截器的执行顺序
十一、异常处理器
1、基于配置的异常处理
2、基于注解的异常处理
十二、注解配置SpringMVC
1、创建初始化类,代替web.xml
2、创建SpringConfig配置类,代替spring的配置文件
3、创建WebConfig配置类,代替SpringMVC的配置文件
十三、SpringMVC执行流程
1、SpringMVC常用组件
2、DispatcherServlet初始化过程
3、DispatcherServlet调用组件处理请求
4、SpringMVC的执行流程
一、SpringMVC简介
1、什么是MVC
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分
M:Model,模型层,指工程中的JavaBean(service+dao+entity),作用是处理数据,完成业务逻辑
JavaBean分为两类:
- 一类称为实体类Bean:专门存储业务数据的,如 Student、User 等
- 一类称为业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问
V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据
C:Controller,控制层,指工程中的servlet,作用是接收请求、调用模型和响应浏览器
MVC的工作流程:
用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller
调用相应Model层处理请求(service和dao),处理完毕将结果返回到Controller
,
Controller
再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器。
- 一类称为实体类Bean:专门存储业务数据的,如 Student、User 等
- 一类称为业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问
2、什么是SpringMVC
SpringMVC是Spring
的一个后续产品,是
Spring
的一个子项目
SpringMVC是Spring为表述层开发提供的一整套完备的解决方案。
注:三层架构分为表述层(或表示层)、业务逻辑层、数据访问层(持久层)。
表述层表示前台页面和后台servlet,前台页面发送请求到服务器中,服务器使用servlet接收请求进行处理并响应浏览器。
SpringMVC
对上述功能实现封装,我们只需要使用SpringMVC提供的功能代码完成请求的处理。
在表述层框架历经
Strust
、WebWork、Strust2 等诸多产品的历代更迭之后,目前业界普遍选择了
SpringMVC
作为
Java EE
项目表述层开发的首选方案。
3、SpringMVC的特点
Spring
家族原生产品
,与
IOC
容器等基础设施无缝对接
基于原生的
Servlet
,通过功能强大的
前端控制器DispatcherServlet
,对请求和响应进行统一处理。对当前的很多过程进行封装,如获取请求参数,页面跳转,域对象存取值等
表述层各细分领域需要解决的问题
全方位覆盖
,提供
全面解决方案
代码清新简洁
,大幅度提升开发效率
内部组件化程度高,可插拔式组件即插即用,想要什么功能配置相应组件即可
性能卓著
,尤其适合现代大型、超大型互联网项目要求
二、搭建SpringMVC框架
1、开发环境
IDE:idea 2019.2
构建工具:maven3.5.4
服务器:tomcat7
Spring版本:5.3.1
2、创建maven工程
二、搭建SpringMVC框架
1、开发环境
IDE:idea 2019.2
构建工具:maven3.5.4
服务器:tomcat7
Spring版本:5.3.1
2、创建maven工程
构建工具:maven3.5.4
服务器:tomcat7
Spring版本:5.3.1
2、创建maven工程
new module--maven--选择archetype,让idea自动创建maven工程。以下演示手动创建步骤
a> 打包方式: war maven工程有三种打包方式,默认方式为jar包。要使当前工程转成web工程,需要把打包方式设置为war包 b> 引入依赖 当前maven工程的核心配置文件pom.xmlorg.springframework spring-webmvc5.3.1 ch.qos.logback logback-classic1.2.3 javax.servlet javax.servlet-api3.1.0 provided org.thymeleaf thymeleaf-spring53.0.12.RELEASE
注:由于 Maven 的传递性,我们不必将所有需要的包全部配置依赖,而是配置最顶端的依赖,其他靠传递性导入。
maven导包的时候碰到的问题Cannot resolve plugin org.apache.maven.plugins:maven-war-plugin:2.2
c> 添加 web 模块 添加web模块,即webapp资源路径。 main目录下新建webapp文件夹webappt添加路径就有蓝色的小点。上述步骤完成后文件夹下有了web.xml,web.xml是web工程入口的配置文件,包含注册servlet,过滤器,监听器等。之后这部分用注解配置类方式代替xml配置文件。
web工程打成war包后,依赖的jar包会被放到webapp目录下的WEB-INFO下的lib中
3、配置web.xml 需要配置的原因:注册SpringMVC的前端控制器 DispatcherServlet要在xml中进行注册。 配置时遇到org.springframework.web.servlet.DispatcherServlet爆红,观察发现External Libraries中只有JDK,没有maven下载的jar包
解决方法:可能是项目的.iml文件当中没有相关依赖的信息,只需要在项目目录下执行以下命令重新生成.iml文件,:
mvn idea:module
并在IDEA右侧的Maven projects中对应的Module名称上右键,选择Reimport即可更新相关依赖。
a>默认配置方式
配置文件位置名称默认
springMVC org.springframework.web.servlet.DispatcherServlet springMVC 首页 首页 HelloWorld


