第五章 構建Spring Web應用程序前端
映射請求到Spring控制器java
透明地綁定表單參數web
校驗表單提交spring
1、Spring MVC起步瀏覽器
一、跟蹤spring MVC的請求app
在請求離開瀏覽器時,會帶有用戶所請求內容的信息,至少會包含請求的URL。可是還可能帶有其它的信息,例如用戶提交的表單信息。框架
請求旅程的第一站時候Spring的DispatcherServlet。與大多數基於java的web框架同樣,spring MVC全部的請求都會經過一個前端控制器(front controller)servlet。前端控制器是經常使用的web應用程序模式,在這裏一個單實例的servlet將請求委託給應用程序的其它組件來執行實際的處理。在springMVC中,DispatcherServlet就是前端控制器。測試
DispatcherServlet的任務時將請求發送給spring MVC控制器(controller)。控制器是一個用於處理請求的spring組件。在典型的應用程序中可能會有多個控制器,DispatcherServlet須要知道應該將請求發送給哪一個控制器。因此DispatcherServlet以會查詢一個或多個處理器映射(handler mapping)來肯定請求的下一站在哪裏。處理器映射會根據請求所攜帶的URL信息來進行決策。spa
一旦選擇了合適的控制器,DispatcherServlet會將請求發送給選中的控制器。到了控制器,請求會將用戶提交的信息發給控制器,並等待其處理這些信息。.net
控制器在完成邏輯處理後,一般會產生一些信息,這些信息須要返回給用戶並在瀏覽器上顯示。這些信息被稱爲模型(model)。不過僅僅給用戶返回原始的信息是不夠的,這些信息須要以用戶友好的方式進行格式化,通常會是HTML。因此,信息須要發送一個視圖(view),一般會是JSP。
控制器所作的最後一件事是將模型數據打包,而且標示出用於渲染輸出的視圖名。它接下來將請求連同模型和視圖名發送回DispatcherServlet。
這樣,控制器就不會與特定的視圖相耦合,傳遞給DispatcherServlet的視圖名並不直接標示某個特定的JSP。
二、搭建spring MVC
三、Spittr應用簡介
2、編寫基本的控制器
在springMVC中,控制器只是方法上添加了@RequestMapping註解的類,這個註解聲明瞭它們所要處理的請求。
package oschina; @Controller public class HomeController{ @RequestMapping(value="/",method=GET) public String home(){ return "home"; } }
一、測試控制器
二、定義類級別的請求處理
三、傳遞模型數據到視圖中
3、接受請求的輸入
未完待續...
Spring in action有點看不動了,到此爲止吧,不煎熬了...