目录
2.编写文件解析器,并交给SringMVC管理(第三方bean)使用注解@Bean
第二步:让SpringMVC开启辅助功能,如日期类型转换,json类型转换
第三步:编写Controller类,并使用注解@RequestBody,一个方法只能使用一次(解析前端传来的json对象)
SpringMVC概述
MVC(Model View Controller),一种用于创建web应用程序的表现层的模式
1.Model(模型):数据模型,用于封装数据
2.View(视图):页面视图,用于展示数据
- jsp
- html
3.Controller(控制器):处理用户交互的调度器,用于根据用户需求处理程序逻辑
SpringMVC快速入门
第一步:创建Maven工程,并导入相关的依赖
第二步:创建控制器类
第三步:初始化SpringMVC环境
第四步:创建Tomcat的Servlet容器配置类
第五步:导入tomcat插件,并设置war方式打包
第六步:启动
测试
注意:需要在main目录下面新建一个webapp目录
请求路径优化
添加一个新的类
指定请求方法
现在我们使用的式@RequestMapping注解,这个注解支持GET,POST请求,但是我们要指定请求方法要怎么做呢?
请求参数处理
六种常规类型
第一种:普通请求参数
请求参数的key值与方法的形参名一致
第二种:pojo类型请求参数
pojo类的成员变量名字与前端的key值一致
第三种:数组类型请求参数
前端使用多个相同名字的key值与形参变量名一致
第四种:List集合类型
第五种:map集合类型
日期请求参数传递
文件类型参数传递
1.先导入依赖
2.编写文件解析器,并交给SringMVC管理(第三方bean)使用注解@Bean
后端
前端
结果:
D盘出现该文件,成功
JSON类型参数传递
第一步:导入解析json对象的依赖
第二步:让SpringMVC开启辅助功能,如日期类型转换,json类型转换
第三步:编写Controller类,并使用注解@RequestBody,一个方法只能使用一次(解析前端传来的json对象)
前端
结果:
数组类型的pojo类型
处理中文请求乱码问题
1.GET请求乱码问题
2.解决POST请求乱码
为web容器添加过滤器并指定字符集
响应数据
响应一个页面
所以@Response注解(使用在方法上)的作用就是设置当前控制器的返回值作为响应体。
不加这个注解就会去找对应名字的页面,并返回给前端
响应JSON对象,也要使用@Response注解
返回类型是对象
响应JSON对象数组
注意:跟解析请求JSON对象一样,也要导入json解析所需要的依赖,也需要使用注解@EnableWebMvc//让SpringMVC开启辅助功能,如日期类型转换,json类型转换
RESful风格
我们可以发现每个@RequestMapping都要写/users,比较麻烦,我们可以直接在类上使用注解 @RequestMapping
每个方法都要写@Response比较麻烦,我们可以直接在类上使用注解 @ResponseBody
然后我们还发现每个@RequsetMapping都要写一个method属性来指定请求方法,比较麻烦,所以,Post请求就使用@PostMapping,以此类推
@ResponseBody和@Controller这两个注解放在一起可以使用@RestController注解来替代