springmvc簡介
文章出處:http://hz-huyue.com 作者:興邦開發部 人氣: 發表時間:2016年03月18日
springmvc簡介
Spring為展現層提供了一個優秀的Web框架--Spring mvc。和眾多其他Web框架一樣,它基于MVC設計理念。
Spring MVC框架圍繞DispacherServlet這個核心展開,DispatcherServlet是Spring mvc的總導演,總策劃,它負責截獲請求并將其分派給相應的處理器處理。Spring mvc框架包括注解驅動控制器,請求及響應的信息處理,試圖解析,本地化解析,上傳文件解析,異常處理以及表單標簽綁定等內容。
和大多數Web mvc框架一樣,SpringMVC通過一個前端Servlet接收所有請求,并將具體工作委托給其他組件進行處理,DispatcherServlet就是Spring mvc的前端Servlet。下面對Spring mvc處理請求做一個概述:
1:整個過程始于客戶端發出一個HTTP請求,Web應用服務器接收到這個請求,如果匹配DispatcherServlet的請求映射路徑(web.xml下指定),Web容器將該請求轉交給DispatcherServlet處理。
2:DispatcherServlet接收到請求后,將根據請求信息(包括URL,HTTP方法等)及HandlerMapping的配置找到處理請求的處理器(Handler)??蓪andlerMapping看成是路由器,將Handler看成是目標主機。值得注意的是:Spring mvc中并沒有定義一個Handler接口,實際上任何一個Object都可以成為請求的處理器。
3:當DispatcherServlet根據HandlerMapping得到對應當前請求的Handler后,通過HandlerAdapter的Handler進行封裝,再以統一的適配器接口調用Handler。HandlerAdapter是Spring mvc的框架級接口,顧名思義HandlerAdapter是一個適配器,它用統一的接口對各種Handler方法進行調用。
4:處理器完成業務邏輯的處理后將返回一個ModelAndView給DsipatcherServlet,ModelAndView包含了試圖邏輯名和模型數據信息。
5:ModelAndView中包含的是“邏輯試圖名”而非真正的視圖對象,DispatcherServlet借由ViewResolver完成邏輯試圖名到真是試圖對象的解析工作。
6:當得到真實的視圖對象view后DispatcherServlet就使用這個View對象對ModelAndView中的模型數據進行試圖渲染。
7:最終客戶端得到的相應消息,可能是一個普通的HTML頁面,也可能是一個XML或JSON串,甚至是一張圖片或一個PDF文檔等不同的媒體形式。
以上每一步驟都包含著豐富的知識點。但是第一部都是要配置好在web.xml中DispatcherServlet,讓Spring mvc的心臟跳動起來。