常用注解
- RequestMapping
- 作用:建立请求url和处理方法之间的对应关系。
- 可作用范围:可作用在方法和类上。
(1)作用在类上:第一级的访问目录;
(2)作用在方法上:第二级的访问目录; - 属性:
(1)path:指定请求路径的url;
(2)value:value属性与path属性一样;
(3)method:指定该方法的请求方式;
(4)params:指定限制请求参数的条件;
(5)headers:发送的请求中必须包含请求头。
- RequestParam
- 作用:把请求中的指定名称的参数传递给控制器中的形参赋值。
- 属性:有两个属性:
(1)value:请求参数中的名称;
(2)required:请求参数中是否必须提供此参数,默认值是true,必须提供。
- RequestBody
- 作用:用于获取请求体的内容(注意:要用post方式)
- 属性:reuired:是否必须有请求体,默认为true
- PathVariable
- 作用:用于绑定url中的占位符,例如:/query/{id}其中{id}就是占位符。
- 属性:value:指定url中的占位符的名称。
- Restful风格的URL:
(1)请求路径一样,可以根据不同的请求方式去执行后台的不同方法。
(2)restful风格的URL优点: 结构清晰、 符合标准、易于理解、 扩展方便。
- RequestHeader
- 作用:获取指定请求头的值;
- 属性:value:请求头的名称。
- CookieValue
- 作用:用于获取指定cookie的名称的值;
- 属性:value:cookie的名称。
- ModelAttribute
- 作用:
(1)作用在方法上:表示当前方法会在控制器方法执行前先执行;
(2)作用的参数上:获取指定的数据给参数赋值。 - 应用场景:当提交表单数据不是完整的实体数据时,保证没有提交的字段使用数据库原来的数据。
- SessionAttributes
- 作用:用于多次执行控制器方法间的参数共享。
- 属性:value:指定存入属性的名称。
请求参数的绑定
1、请求参数的绑定说明:
(1)绑定机制:
- 表单提交的数据都是key=value格式的,例如:username=lili&password=111
- SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的;
- 要求:提交表单的name和参数的名称是相同的。
(2)支持的数据类型:
- 基本数据类型和字符串类型;
- 实体类型(JavaBean);
- 集合数据类型(list、map集合等)。
2、基本数据类型和字符串类型:
(1)提交表单的name和参数的名称是相同的;
(2)区分大小写。
3、实体类型(JavaBean)
(1)提交表单的name和JavaBean中的属性名称需要一致;
(2)如果一个JavaBean类中包含其他的引用类型,那么表单的name需要编写成:对象.属性。例如:address.name