2.3.3 基于Controller接口的控制器
2.3.3 基于Controller接口的控制器
分发请求 DispatcherServlet
DispatcherServlet
在Spring
当中充当一个前端控制器
的角色,它的核心功能是分发请求
。
处理请求 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
方法传递的参数访问对应请求的HttpServletRequest
和HttpServletRespose
对象,处理完业务请求之后,必须返回一个包含模型对象和视图路径的ModelAndview
对象。
只能处理单一请求动作
提示:Controlller
接口的实现类只能处理一个单一请求动作,而Spring2.5
之后新增的基于注解的控制器
可以支持同时处理多个请求动作,并且无须实现任何接口,其更加灵活。之后会详细介绍.
接下来我们演示一个基于Controller
接口的Spring MVC
控制器的Web
应用,以便展示Spring MVC
是如何工作的.