SpringMVC几个常用注解及属性如下:
1.@Controller
、@Service
、@Repository
在Spring中讲过了
2.@RequestMapping
2.1 RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径,主要用于url模块化。
比如:
匹配处理的请求为:
也可以支持多级目录:
比如:
匹配路径
2.2 RequestMapping
注解有六个属性,下面我们把它分成三类进行说明(下面有相应示例)。
1) value
, method
;
value: 指定请求的实际地址;如果只指定该属性,则value可以省略不写,比如之前的案例,如果还指定其他属性,则必须写出value。
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
比如:
2)consumes
(了解),produces
(了解)
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
3)params
,headers
(了解)
params: 指定request中必须包含某些参数值时,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
2.3.springmvc 支持ant风格的路径表达式,我们先了解一下ant风格是什么个东西?
ant匹配url有三种:
?
匹配任何单字符
*
匹配0或者任意数量的字符
**
匹配0或者更多的目录
比如:
可以匹配xxx(任意字符)
3.@PathVariable
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。
4.@requestParam
作用:主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter(“name”),它有三个常用参数:1)defaultValue
表示设置默认值
2) required
通过boolean设置是否是必须要传入的参数
3)value
值表示接受的传入的参数类型
5.@RequestHeader
@RequestHeader注解用于将请求的头信息数据映射到功能处理方法的参数上
6.@CookieValue
@CookieValue用来获取Cookie中的值
服务端在第一次接受客户端请求时,会给客户端分配一个session,该session包含一个sessionId,并传递给客户端中cookie的JSESSIONID,这里演示获取Cookie中的JSESSIONID值
7.@ReqeustBody
和@ResponseBody
@ReqeustBody:
常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,
比如:application/json或者是application/xml等,常常用来其来处理application/json类型
@ResponseBody:
用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端.
后面演示。