SpringMvc的常用注解
@RequestMapping
@RequestMapping注解可以用到类中的方法上或类上。用到方法上表示方法的访问路径,用到类上表示该方法访问路径的一部分。
该方法的访问路径是/comment/add4
@RequestMapping拥有以下几个属性:
Value属性表示该方法的访问路径,value是一个数组,可以放多个访问路径.
Method属性表示该方法支持的请求方式 GET POST,如果不是对应的请求方式,将报405状态码
Params:表示该法要携带的参数
!name 不能携带name参数
Id 必须携带id参数
Age!=20 不能携带 age参数,或携带 age参数但值不能是20
Address=beijing 必须携带address参数且值必须是beijing
Headers表示要携带指定的请求头,如果没有携带就报404
@RequestParam
@RequestParam用到方法的形式上,当地址栏中参数名与方法以接收的参数不一致时,用@RequestParam来映射他们的对应关系。name 属性表示参名",required 默认值为true表示必须携带此参。defaultValue是给参数一个默认值。
@RequestHeader
@RequestHeader用在方法形参上,表示取某个请求头的值。
@CookieValue
@CookieValue 表示获取Cookie的值
@PathVariable
@PathVariable 用在方法的形参上,表示从访问路径中取指定占位符的值,赋值对应的属性。
@ModelAttribute
用在方法上,表示一个公共的方法,相当你访问这个控制层类中的方法之前先执行,可以把共享资源放到request域中。返回的共享资源默认以返回类型的简单名称为key,以返回共享资源为value,放到request域中。如果在ModelAttribute中设置了name属性,则以name指定的字符串为key.
@SessionAttributes
该注解用在类上,把指这的key或value类型所代表的键值对放到session域中
Value是一个数组,该数组中可以添写多个key,表示把value中表描述的这些key所对应的键值对放到session域中.
Types属性是一个数组,该数组中可以添写多个值的Class对象,types中所描述的值对应的键值对放到session域中.