(四)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視圖部分)。

 

相關文章
相關標籤/搜索