(四)SpringMVC Controller(1)

Controller控制器,主要负责功能处理部分:java

一、收集、验证请求参数并绑定到命令对象;web

二、将命令对象交给业务对象,由业务对象处理并返回模型数据;spring

三、返回ModelAndView(Model部分是业务对象返回的模型数据,视图部分为逻辑视图名)。mvc

 

还记得DispatcherServlet吗?主要负责总体的控制流程的调度部分:app

一、负责将请求委托给控制器进行处理;eclipse

二、根据控制器返回的逻辑视图名选择具体的视图进行渲染(并把模型数据传入)。ide

 

所以MVC中完整的C(包含控制逻辑+功能处理)由(DispatcherServlet + Controller)组成。学习

 

所以此处的控制器是Web MVC中部分,也能够称为页面控制器、动做、处理器。spa

 

Spring Web MVC支持多种类型的控制器,好比实现Controller接口,从Spring2.5开始支持注解方式的控制器(如@Controller、@RequestMapping、@RequestParam、@ModelAttribute等),咱们也能够本身实现相应的控制器(只须要定义相应的HandlerMapping和HandlerAdapter便可)。component

 

由于考虑到还有部分公司使用继承Controller接口实现方式,所以咱们也学习一下,虽然已经不推荐使用了。

 

对于注解方式的控制器,后边会详细讲,在此咱们先学习Spring2.5之前的Controller接口实现方式。

 

首先咱们将项目springmvc-chapter2复制一份改成项目springmvc-chapter4,本章示例将放置在springmvc-chapter4中。

你们须要将项目springmvc-chapter4/ .settings/ org.eclipse.wst.common.component下的chapter2改成chapter4,不然上下文仍是“springmvc-chapter2”。之后的每个章节都须要这么作。

Controller接口

package org.springframework.web.servlet.mvc;
public interface Controller {
       ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception;
}

 

这是控制器接口,此处只有一个方法handleRequest,用于进行请求的功能处理,处理完请求后返回ModelAndView(Model模型数据部分 和 View视图部分)。

 

相关文章
相关标签/搜索