Spring 学习笔记(二)-- AbstactController
控制器是 MVC 设计模式的一部分,通过定义服务接口提供对应用行为的访问。控制器获取用户输入的数据并作简单的转换处理成符合服务模块的规则并传入服务模块,经过服务模块的处理给用户返回视图。 Spring 的控制器以抽象的方式实现了这种概念,并且有很多样的控制器在不同情况下可供使用,包括了确定视图的控制器,基于命令的控制器,还有执行向导式逻辑的控制器,在这里仅举几个例子。
Spring 的控制器结构的基础是 org.springframework.web.servlet.mvc.Controller 接口。
可以看到, Controller 接口定义了一个方法,负责处理一个请求并通过合适的模块返回视图。在 Spring 通过 ModelAndView 和 Controller 实现。 Controller 接口是非常抽象的, Spring 提供许多实现了这个接口的控制器,这些控制器包含了许多功能,在你需要的时候可以使用。而 Controller 接口只是定义了一个方法负责最基本的职责。
Spring 定义的控制器并不是直接实现 Controller 接口,而是实现了 AbstractController,AbstractorController 实现了 Controller 接口。
下面表格是 AbstractController 提供的功能点。
Feature |
说明 |
supportMethods |
表明控制器会接收哪些方法。一般会默认设置GET 和POST ,你也可以修改这些方法。如果一个请求携带的方法是这个控制器不支持的,客户端会被告知,抛出ServletException 。 |
requireSession |
表明控制器是否需要HTTP session 。 |
synchronizeOnSession |
确定是否对HTTP session 实行同步。 |