一、请求参数绑定
1基本使用
2.前端参数封装到JavaBean中
注意实体类必须提供
setter
和getter
方法
3.JavaBean中包含其他类时如何封装参数
4.配置过滤器解决中文乱码问题
4.1web.xml中配置过滤器,解决前端请求中文传到后端乱码
<!--配置过滤器,解决前端请求中文传到后端乱码-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!--设置初始化参数,设置编码方式,解决前端请求中文传到后端乱码-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<!--对前端所有请求都拦截-->
<url-pattern>/*</url-pattern>
</filter-mapping>
4.2实例
5.avaBean中包含集合属性时如何封装参数
6.自定义类型转换器
6.1前端提交的参数的数据类型到后端JavaBean中的数据类型的转换
- 前端提供的所有参数都是字符串类型的,其中大部分的类型SpringMVC都可以自动完成类型转换
- 但是总有一些字符串无法被自动转换
- 如果不主动处理,就会报错
6.2异常情况
6.3自定义类型转换器
6.3.1编写自定义类型数据转换器
6.3.2springmvc.xml中配置自定义数据转换器
6.3.3测试
7.获取原生的ServletAP
二、常用注解
1.RequestParam
2.RequestBody
- 不适用于get请求 因为get没有请求体
3.PathVaribale
3.1REST风格URL
3.2实例
4.RequestHeader(使用较少)
5.CookieValue(使用较少)
6.ModelAttribute
6.1作用在方法
- 出现在方法上,表示当前方法会在控制器的方法执行之前,先执行。它可以修饰没有返回值的方法,也可以修饰有具体返回值的方法。
6.1.1基本功能演示(无返回值)
6.1.2使用场景1(有返回值)
- 当表单提交数据不是完整的实体类数据时,保证没有提交数据的字段使用数据库对象原来的数据。就比如用户注册时,需要提交姓名,密码,日期,三个信息,但是没有提供日期信息,此时可以利用该注解来从数据库取一个日期值来赋值。
6.2作用在参数上
- 作用在参数上也可以解决使用场景1的问题,不过是另一种实现方式罢了
7.SessionAttributes
- 用于多次执行控制器方法间的参数共享。