SpringMVC基础

<1>数据响应
SpringMVC的数据响应主要有两种格式:
第一种就是进行页面跳转:
1.直接返回字符串:
首先创建一个success.jsp
1 | <%-- |
在核心控制类中写入方法:
1 | //数据响应:返回一个字符串类型的 |
但是要想通过这个字符串类型的数据进行跳转必须要先配置视图解析器
在SpringMVC的配置文件中写入
1 | <!--配置视图解析器,将控制器方法返回的逻辑视图解析为物理视图--> |
然后重新发布一下tomcat,看看是否成功:

2.通过ModelAndView对象返回:
首先创建一个hello.jsp文件
1 | <%-- |
在核心控制类中写入
1 | //数据响应:返回一个ModelAndView类对象 |
然后重新发布一下tomcat,看看是否成功:

上述过程可以进行简化,让Spring为我们创建ModelAndView对象,我们之间用即可。
1 | //数据响应:使用Spring注入的MOdelAndView对象,Spring也可注入其他对象 |
然后重新发布一下tomcat,看看是否成功:

第二种就是回写数据
1.直接返回字符串
将需要回写的字符串直接返回,但此时需要通过**@ResponseBody**注解告知SpringMVC框架,方法返回的字符串不是跳转是直接在http响应体中返回。
在核心控制类中写入:
1 | //数据响应:直接回写一个字符串数据 |
然后重新发布一下tomcat,看看是否成功:

2.返回对象或集合
在核心配置类中进行写入:
1 | //数据响应:回写数据:返回对象或者集合 |

这里有一个问题:你会发现中文乱码了。怎么办呢?创建一个过滤器即可。
在webapp下的WEB-INF的web.xml文件中配置全局的filter:
1 | <!--配置全局过滤的filter--> |
<2>请求数据
1.获得基本类型参数
在核心控制类中写入
1 | //请求参数:Spring自动封装参数 |
访问地址应为:

查看一下结果:

2.请求对象
首先创建一个User对象
1 | package com.liu.pojo; |
然后在核心控制类中写入
1 | //请求对象:Spring自动封装对象,对象的属性与请求参数的属性一致,对象就会自动映射匹配 |
重启tomcat查看结果:


3.请求数组
先在核心控制类中写入方法:
1 | //请求数组:数组名称与请求参数的name一致,参数值就会自动映射匹配 |
运行tomcat,查看结果


4.请求集合
首先创建一个集合VO
1 | package com.liu.pojo; |
然后在核心控制类中写入方法
1 | //请求参数为一个集合: |
我们不能通过直接访问来请求一个集合,我们需要一个表单进行提交:
1 | <%-- |
重新发布tomcat来查看是否成功
访问fprm.jsp来填写表单,通过表单来获取一个集合对象

点击提交之后就进入了

在IDEA中可以看到已经得到了一个集合

5.请求Servlet相关API
1 | //获得Servlet相关API |
6.获得头信息
使用**@RequestHeader**可以获得请求头信息,相当于web阶段学习的request.getHeader(name)
@RequestHeader注解的属性如下:
- value:请求头的名称
- required:是否必须携带此请求头
1 | //获得请求头信息 |
7.获得cookie
使用@CookieValue可以获得指定Cookie的值
@CookieValue注解的属性如下:
- value:指定cookie的名称
- required:是否必须携带此cookie
1 | //获得cookie |
8.进行文件上传
首先引入相关包的坐标
1 | <dependency> |
在SpringMVC核心配置文件中写入
1 | <!--配置文件上传解析器--> |
创建一个表单upload.jsp用于提交:
1 | <%-- |
在核心控制类中写入方法:
1 | //文件上传 |
首先访问upload.jsp,提交后可以发现已经成功上传了。