1. 程式人生 > >Spring實戰 | 第二部分 Web中的Spring(第五章 構建Spring Web應用程式)

Spring實戰 | 第二部分 Web中的Spring(第五章 構建Spring Web應用程式)

第五章 構建Spring Web應用程式

對映請求到Spring控制器

透明地繫結表單引數

校驗表單提交

一、Spring MVC起步

 1、跟蹤spring MVC的請求

在請求離開瀏覽器時,會帶有使用者所請求內容的資訊,至少會包含請求的URL。但是還可能帶有其它的資訊,例如使用者提交的表單資訊。

請求旅程的第一站時候Spring的DispatcherServlet。與大多數基於java的web框架一樣,spring MVC所有的請求都會通過一個前端控制器(front controller)servlet。前端控制器是常用的web應用程式模式,在這裡一個單例項的servlet將請求委託給應用程式的其它元件來執行實際的處理。在springMVC中,DispatcherServlet就是前端控制器。

DispatcherServlet的任務時將請求傳送給spring MVC控制器(controller)。控制器是一個用於處理請求的spring元件。在典型的應用程式中可能會有多個控制器,DispatcherServlet需要知道應該將請求傳送給哪個控制器。所以DispatcherServlet以會查詢一個或多個處理器對映(handler mapping)來確定請求的下一站在哪裡。處理器對映會根據請求所攜帶的URL資訊來進行決策。

一旦選擇了合適的控制器,DispatcherServlet會將請求傳送給選中的控制器。到了控制器,請求會將使用者提交的資訊發給控制器,並等待其處理這些資訊。

控制器在完成邏輯處理後,通常會產生一些資訊,這些資訊需要返回給使用者並在瀏覽器上顯示。這些資訊被稱為模型(model)。不過僅僅給使用者返回原始的資訊是不夠的,這些資訊需要以使用者友好的方式進行格式化,一般會是HTML。所以,資訊需要傳送一個檢視(view),通常會是JSP。

控制器所做的最後一件事是將模型資料打包,並且標示出用於渲染輸出的檢視名。它接下來將請求連同模型和檢視名傳送回DispatcherServlet。

這樣,控制器就不會與特定的檢視相耦合,傳遞給DispatcherServlet的檢視名並不直接標示某個特定的JSP。

2、搭建spring MVC

3、Spittr應用簡介

二、編寫基本的控制器

在springMVC中,控制器只是方法上添加了@RequestMapping註解的類,這個註解聲明瞭它們所要處理的請求。

package oschina;
@Controller
public class HomeController{
    @RequestMapping(value="/",method=GET)
    public String home(){
        return "home";
    }
}

1、測試控制器

2、定義類級別的請求處理

3、傳遞模型資料到檢視中

三、接受請求的輸入

未完待續...

Spring in action有點看不動了,到此為止吧,不煎熬了...

 

Sp