2.3.3 基于Controller接口的控制器

2.3.3 基于Controller接口的控制器

分发请求 DispatcherServlet

DispatcherServletSpring当中充当一个前端控制器的角色,它的核心功能是分发请求

处理请求 Handle

请求会被分发给对应处理的Java类, Spring MVC中称为Handle

如何开发一个Handle

Spring2.5以前,开发一个Handle的唯一方法是实现org.springframework.webservlet.mvv.Controller接口。

实现Controller接口的handleRequest方法

Controller接口必须实现一个方法,该方法的签名如下

1
ModelAndView handleRequest(HttpServletRequest request,HttpResponse response) throws Exception

Controller接口的实现类可以通过handleRequest方法传递的参数访问对应请求的HttpServletRequestHttpServletRespose对象,处理完业务请求之后,必须返回一个包含模型对象和视图路径的ModelAndview对象。

只能处理单一请求动作

提示:Controlller接口的实现类只能处理一个单一请求动作,而Spring2.5之后新增的基于注解的控制器可以支持同时处理多个请求动作,并且无须实现任何接口,其更加灵活。之后会详细介绍.
接下来我们演示一个基于Controller接口的Spring MVC控制器的Web应用,以便展示Spring MVC是如何工作的.