spring mvc注解解释

@Controller:用于标识是处理器类;

@RequestMapping:请求到处理器功能方法的映射规则;

@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;

@ModelAttribute:请求参数到命令对象的绑定;

@SessionAttributes:用于声明session 级别存储的属性,放置在处理器类上,通常列出模型属性(如

@ModelAttribute)对应的名称,则这些属性会透明的保存到session 中;

@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型;

1.URL路径映射:使用URL映射请求到处理器的功能处理方法;

@RequestMapping(value={"/test1", "/user/create"}):多个URL路径可以映射到同一个处理器的功能处理

方法。

@RequestMapping(value="/users/{userId}"):{×××}占位符, 请求的URL可以是“/users/123456”或

“/users/abcd”,通过6.6.5 讲的通过@PathVariable可以提取URI模板模式中的{×××}中的×××变量。

@RequestMapping(value="/users/{userId}/create") : 这样也是可以的, 请求的URL 可以是

“/users/123/create”。

@RequestMapping(value="/users/{userId}/topics/{topicId}"):这样也是可以的,请求的URL 可以是

“/users/123/topics/123”

2.请求方法映射限定:如限定功能处理方法只处理GET请求;

@RequestMapping(value="/create", method = RequestMethod.GET)

@RequestMapping(value="/methodOr", method = {RequestMethod.POST, RequestMethod.GET}):即请

求方法可以是GET 或POST。

3.请求参数映射限定:如限定只处理包含“abc”请求参数的请求;

@RequestMapping(params="create", method=RequestMethod.GET)表示请求中有“create”的参数名

且请求方法为“GET”即可匹配,如可匹配的请求URL“http://×××/parameter1?create”;

//请求参数不包含create参数名

@RequestMapping(params="!create", method=RequestMethod.GET)//

@RequestMapping(params="submitFlag=create", method=RequestMethod.GET) : 表示请求中有

“submitFlag=create”请求参数且请求方法为“GET” 即可匹配,如请求URL为http://×××

/parameter2?submitFlag=create;

@RequestMapping(params="submitFlag!=create", method=RequestMethod.GET):表示请求中的参数

“submitFlag!=create”且请求方法为“GET”即可匹配,如可匹配的请求URL“http://×××

/parameter1?submitFlag=abc”。

@RequestMapping(params={"test1", "test2=create"}):表示请求中的有“test1”参数名且 有

“test2=create”参数即可匹配,如可匹配的请求URL“http://×××/parameter3?test1&test2=create。

4.请求头映射限定:如限定只处理“Accept=application/json”的请求。



 

猜你喜欢

转载自liuna718-163-com.iteye.com/blog/2340131