文章標題

22.1 Spring Web MVC 框架

Spring Web model-view-controller(MVC)框架是圍繞DispatcherServlet設計的,它將請求分配給配置的處理映射,可視化,區域設置,時區和主題解析,以及支持上傳文件的處理程序。默認的處理是基於能提供很多靈活處理方法的@Controller@RequestMapping註解。從Spring 3.0開始,通過@PathVariable註解和其他特徵,@Controller 機制還能允許你創建RESTful網站和應用程序。

Spring Web MVC中,你可以把任何對象看成一個命令或表單支持對象;你不需要實現一個專門的框架接口或基類。Spring的數據綁定非常靈活:例如,類型不匹配視爲程序可評估的驗證錯誤,而不是系統錯誤。因此,你不需要…(這一段不太理解,難道是因爲不懂以前的框架?)。相反,直接綁定在業務對象上。

Spring的視圖解析也是很靈活的。Controller通常負責準備具有數據和選擇視圖名稱的模型映射,但也可以直接寫入響應流中完成請求。視圖名稱解析可通過文件擴展或Accept header content type配置,通過beans名稱,配置文件或一個自定義的ViewResolver實現。Model是Map的一個接口,完全取決於視圖技術。可以整合模板技術如JSP,Velocity和Freemarker,或者直接生成XML,JSON,Atom,或者其他形式的內容。Model Map就是簡單地轉換成合適的合適,例如JSP請求屬性,Velocity模板模型。

22.1.1 Spring Web MVC的特徵

Spring的web模塊包含一些支持web特徵:

  • Clear separation of roles(分工明確)。每個角色(controller, validator, command object, form object, model object, DispatcherServlet, handler mapping, view resolver)都能由專門的對象實現。
  • Powerful and straightforward configuration of both framework and application classes as JavaBeans(JavaBeans的強大配置)。這種配置包括跨上下文的簡單引用,例如從Web控制器到業務對象和驗證器。
  • Adaptability, non-intrusiveness, and flexibility。在一些場景下,控制器還可以使用@RequestParam, @RequestHeader, @PathVariable等。
  • Reusable business code, no need for duplication

(未完待續)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章