springMvc 3.0 使用基本原理

直接用一個註冊的小例子來說明一下springMvc的工作原理

1,按照上一篇springMvc的基礎配置新建一個web項目,這個步奏我們需要寫好web.xml,springContext.xml,springMvc.xml這三個配置文件,還需要導入相應的jar包。

2.直接運行工程,輸入用戶名和密碼提交如圖:

可以看到瀏覽器上url的請求:          http://localhost:8080/springMvcTest03/register.do    當程序請求register.do的時候,由於工程在程序入口的web.xml配置文件中加入了:

<servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/springContext.xml,/WEB-INF/springMvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
服務器接受url的請求,調用DispatcherServlet來處理請求,打開DispatcherServlet的定義,部分定義如下:


在   List<HandlerMapping> handlerMapping 鏈表中,每個handlerMapping 中存放了 url和 Controller的對應的關係,通過這個對應關係  url中的register.do就可以找到對應的controller

3,開始執行定義的controller中的方法,執行結束之後,如果返回字符串則將字符串轉化成相應的視圖對象;如果返回的是ModelAndView,該對象中本身就包含了視圖對象的信息。

4,如果DispacherServlet返回的是ModelAndView對象,還需要將該對象的數據進行解析,輸出給服務器

5.最後服務器將數據輸出到瀏覽器。

整個從發送,處理,得到視圖結果的過程執行結束。

發佈了47 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章