概述
MVC:
M:modal 模型,主要用于数据封装和业务逻辑处理
V:view 视图,数据展示
C:constructor,控制器分发,指派工作
流程图示
Spring快速入门
导入相关坐标
配置Spring的前端控制器
创建Controller类和视图页面,并使用注解配置映射地址
注意:视图页面放在webapp下
配置SpringMVC核心文件
测试,启动tomcat
SpringMVC组件解析
SpringMVC的注解解析
@RequestMapping
注意上面图片,当在类上面配置了@RequestMapping,此时,浏览器会到该类下面找success.jsp,因此要将success.jsp改写成/success.jsp,表示要到webapp下面去找success.jsp
属性:
组件扫描
spring和springMVC各自扫各自的层
还可以这样写:
SpringMVC的xml配置(资源解析器)
如果视图页面在webapp下的某个文件夹下,那么在代码中,就要加上该目录前缀
那么,每一个在该目录下的文件,就都要写前缀
此处 return success.jsp默认是转发,如果希望是重定向,可在前面增加redirect:
因此,我们可以在spring-mvc中 配置内部资源视图解析器
小结
Spring MVC的数据响应方式
页面跳转
直接返回字符串
返回ModelAndView对象–形式一
返回ModelAndView对象–形式二
返回ModelAndView对象–形式三
返回ModelAndView对象–形式四(不常用)
回写数据
直接返回字符串
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201115170215162.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hidG50,size_16,color_FFFFFF,t_70#pic_center)
直接回写json格式字符串
导入json的相关包
返回对象或集合
添加spring-mvc命名空间,添加注解驱动
Spring MVC获得请求数据
获得基本类型参数
客户端请求任何参数,其实都是字符串形式
获得POJO类型参数
获得数组类型参数
获得集合类型参数
(一)
(二)
在webapp下有一个js目录,下有一个jquery-3.3.1.js
这个jquery-3.3.1.js是干嘛用的
步骤:客户端发送的是一个json格式的数据(102集开头,听不清)
小细节
请求数据乱码问题
参数绑定注解@requestParam
获取Restful风格的参数
自定义类型转换器
不是很懂,需要实践
获得请求头
文件上传
文件上传客户端三要素
文件上传原理
服务端能获取当前表单的所有数据
单文件上传步骤
在pom.xml中导入坐标
在spring-mvc.xml中配置文件上传解析器
编写文件上传代码
此处,transferTo方法里面,需要一个File参数,里面填的是地址,也可能是某台服务器的地址,网络地址,此处因为是单机,所以写的磁盘地址
注意此处的uploadFile,两张图片的要一致
多文件上传
与单文件上传类似
或者用数组
Spring-MVC拦截器
拦截器和过滤器的区别
拦截器快速是入门
在spring-mvc.xml配置拦截器
/** 表示对所有的目标方法都执行拦截
preHandle返回false,则后面的不执行
此处,参数中有request,response,则我们可以用其获得请求的内容
此处有ModelAndView参数,我们可以在该方法中,把它改变
例子:
多个interceptor
执行顺序
拦截器方法说明
拦截器–用户登录案例
Spring-MVC异常处理机制
异常处理的思路
异常处理的两种方式
自定义异常处理器步骤