一、什么是 Spring MVC
創(chuàng)新互聯(lián)擁有十年成都網(wǎng)站建設(shè)工作經(jīng)驗(yàn),為各大企業(yè)提供成都網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),對于網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、app軟件開發(fā)、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、域名申請等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營銷、管理等網(wǎng)站化運(yùn)作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項(xiàng)目的能力。Spring MVC 屬于 SpringFrameWork 的后續(xù)產(chǎn)品,已經(jīng)融合在 Spring Web Flow 里面,是一個(gè)強(qiáng)大靈活的 Web 框架。Spring MVC 提供了一個(gè) DispatcherServlet 作為前端控制器來分配請求。通過策略接口,Spring 框架是高度可配置的。Spring MVC 還包含多種視圖技術(shù),如 Java Server Pages(JSP)、Velocity、Tiles、iText 和 POI 等。Spring MVC 分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧@種分離讓它們更容易進(jìn)行定制。
Spring MVC 框架主要由 DispatcherServlet、處理器映射器、處理器適配器、處理器(控制器)、視圖解析器、視圖組成。
二、Spring MVC 執(zhí)行流程
Spring MVC 高層次的請求處理工作流程如下(圖來自 Spring 官網(wǎng)):
細(xì)分后,Spring MVC 執(zhí)行流程如下,共包括八步:
Spring MVC 相關(guān)接口解釋:
(1)DispatcherServlet
前端控制器,所有的請求都有經(jīng)過它來統(tǒng)一分發(fā),請求會(huì)被分發(fā)給對應(yīng)的 Handler。
(2)HandlerMapping(處理器映射器)
解析請求鏈接,然后根據(jù)請求鏈接找到執(zhí)行這個(gè)請求的類(HandlerMapping 所說的 handler)。
(3)HandlerAdapter(處理器適配器)
調(diào)用具體的方法對用戶發(fā)來的請求來進(jìn)行處理。
(4)Controller
Controller 將處理用戶請求,Controller 處理完用戶請求,則返回 ModelAndView 對象給 DispatcherServlet 前端控制器。
從宏觀角度考慮,DispatcherServlet 是整個(gè) Web 應(yīng)用的控制器;從微觀考慮,Controller 是單個(gè) Http 請求處理過程中的控制器。
(5)ViewResolver(視圖解析器)
解析 MdoelAndView,將 MdoelAndView 中的邏輯視圖名變?yōu)橐粋€(gè)真正的 View 對象,并將 MdoelAndView 中的 Model 取出。
前面簡單的介紹了 Spring MVC ,下面以簡單的用戶注冊為例,來了解 Spring MVC 的一些基本原理和運(yùn)用。
三、項(xiàng)目文件結(jié)構(gòu)
四、開發(fā)準(zhǔn)備
Spring MVC 的相關(guān)文件放在實(shí)驗(yàn)樓的服務(wù)器中,請打開實(shí)驗(yàn)環(huán)境桌面上的 Xfce ,輸入下面的代碼獲取:
wget http://labfile.oss.aliyuncs.com/courses/810/Spring-jars.zip
輸入下面的命令解壓 .zip 文件:
unzip Spring-jars.zip
五、實(shí)驗(yàn)步驟
1 新建項(xiàng)目工程
在 Eclipse 里新建一個(gè) Web 工程(Dynamic Web Project),命名為 SpringMVCTest 。
注意勾選 “自動(dòng)生成 web.xml” 這個(gè)選項(xiàng)。
將 /home/shiyanlou/Spring-jars/ 路徑下的全部 jar 包拷貝到項(xiàng)目的 WebContent/WEB-INF/lib/ 目錄下。
2 配置 web.xml 文件
修改 web.xml 文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>SpringMVCTest springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/springmvc-config.xml 1 springmvc / register.jsp