SpringMVC的Controller
Controller控制器,是MVC中的C,主要负责功能处理部分:
1、收集、验证请求参数并绑定到命令对象
2、将命令对象交给业务对象,有业务对象处理并返回模型数据
3、返回ModelAndView,Model部分是业务对象返回的数据,视图部分是逻辑视图名
DispatcherServlet主要负责整体的控制流程的调度部分:
1、负责将请求委托给处理器进行处理
2、根据控制器返回的逻辑视图名选择具体的视图进行渲染,并且把模型数据传入
MVC中完成的C 有DispatcherServlet+Controller 组成
Controller的注解:
Spring2.5之前我们都是通过实现Controller接口或其实现来定义我们的处理器
Spring2.5之后引入了注解式处理器支持,通过@Controller和@RequestMapping注解定义我们的处理器类。并且提供了一组强大的注解:
@Controller:用于标识是处理器类
@RequestMapping:请求到处理器功能方法的映射规则
@RequestParam:请求参数到处理器功能处理方法的方法参数的绑定
@ModelAttribute:请求参数到命令对象的绑定
@SeessionAttributes:用于声明session级别存储的属性,放置在处理器类上,通常列出模型属性对应的名称,则这些属性会透明的保存到session中
@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型
Spring3.0引入RESTful风格支持(通过@PathVariable注解和一些其他特性