一、Spring2.5之前,通过实现Controller接口或其实现来定义处理器类。
二、Spring2.5引入注解式处理器支持,通过@Controller和@RequestMapping注解定义处理器类。
通过处理器映射DefaultAnnotationHandlerMapping
和
处理器适配器AnnotationMethodHandlerAdapter来开启支持@Controller和@RequestMapping注解的处理器。
@Controller:用于标识是处理器类
@RequestMapping:请求到处理器功能方法的映射规则
@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定
@ModelAttribute:请求参数到命令对象的绑定
@SessionAttributes:用于声明session级别存储的属性,放置在处理器类上,通常列出模型属性(如@ModelAttribute)对应的名称,则这些属性会透明的保存到session中
@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型
三、Spring3.0引入RESTful架构风格支持(通过@PathVariable注解和一些其他特性支持),且有引入了更多的注解
@CookieValue:cookie数据到处理器功能处理方法的方法参数上的绑定
@RequestHeader:请求头数据到处理器功能处理方法的方法参数上的绑定
@RequestBody:请求的body体的绑定(通过HttpMessageConverter进行类型转换)
@ResponseBody:处理器功能处理方法的返回值作为响应体(通过HttpMessageConvereter进行类型转换)
@ResponseStatus:定义处理器功能处理方法/异常处理器返回的状态码和原因
@ExceptionHandler:注解式声明异常处理器
@PathVariable:请求URI中的模板变量部分到处理器功能处理处理方法的方法参数上的绑定,从而支持RESTful架构风格的URI