SpringMVC簡介及工作原理


SpringMVC是Spring框架提供的一個實現webMVC設計模式的輕量級框架它於Sturts2框架一樣,都屬於MVC框架

   三層架構:
                表現層:
                    web層,用來和客戶端進行數據交互的,表現層一般會采用MVC的設計模式
                業務層:
                    處理公司具體的業務邏輯
                持久層:
                    用來操作數據庫的

            MVC的設計模型:
                MVC的全稱是Model View Controller 模型視圖控制器,每個部分都各司其職
                    1.Model:數據模型,JavaBean(實體類)對象,用來進行數據封裝的
                    2.View:視圖,具體指的是我們Jsp,HTML,用來展示數據,給用戶看的
                    3.Contrller:用來接收用戶的請求,整個流程的控制器,用來進行數據校驗等

SpringMVC工作原理:

  1、  用戶發送請求至前端控制器DispatcherServlet。
        2、  DispatcherServlet收到請求調用HandlerMapping處理器映射器。
        3、  處理器映射器找到具體的處理器(可以根據xml配置、注解進行查找),生成處理器對象及處理器攔截器(如果有則生成)一並返回給DispatcherServlet。
        4、  DispatcherServlet調用HandlerAdapter處理器適配器。
        5、  HandlerAdapter經過適配調用具體的處理器(Controller,也叫后端控制器)。
        6、  Controller執行完成返回ModelAndView。
        7、  HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet。
        8、  DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器。
        9、  ViewReslover解析后返回具體View。
        10、 DispatcherServlet根據View進行渲染視圖(即將模型數據填充至視圖中)。
        11、視圖渲染結果會返回給客戶端瀏覽器顯示。

SpringMVC特點:

  1,是Spring框架的一部分,可以方便的利用Spring提供的功能

  2,靈活性強,易於其他框架繼承

  3,提供了DispatcherServlet,使開發人員無需開發額外的控制器對象

  4,可自動綁定用戶輸入,並能正確的轉換數據類型

  5,內置了常見的校驗器,可以校驗用戶輸入,如果不能通過,那么就會重定向到輸入表單

  6,支持國際化,可以根據用戶區域顯示多國語言

  7,支持多種視圖技術

  8,使用基於XML配置文件,在編譯后,不需要從新編譯應用程序

實例代碼:

  1,導入jar包

 

 

 

 

  2,編寫web.xml

 

在上述代碼中<load-on-startup>元素和<init-param>元素都是可選的,如果<load-on-startup>元素的值為1,則在應用程序啟動時會立即加載該Servlet;

如果<load-on-startup>元素不存在,則應用程序會在第一個Servlet請求時加載該Servlet。如果<init-param>元素存在並且通過其子元素配置了

SpringMVC配置文件的路徑,則應用程序在啟動時會加載配置路徑下的配置文件;如果沒有<init-param>元素配置,則應用程序會默認到WEB-INF目錄下

尋找如下命名方式的配置文件:servletName-servlet.xml這個servletName指的是部署在web.xml中的DispatcherServlet的名稱,

在上面web.xml中的配置代碼即為Springmvc,- servlet.xml是配置文件的固定寫法

 

 

  3,編寫SpringMVC配置文件

 

 

 

首先定義了一個名稱為"/firstcontroller"的Bean,該Bean會將控制器類FirstController映射到"/firstcontroller"請求中,

 

然后配置了處理器映射器BeanNameUrlHandlerMapping和處理器適配器SimpleControllerHandlerAdapter,其中處理器映射器用

 

於將處理器Bena中的name(url)進行處理器查找,而處理器適配器用於完成對FirstController處理器中的handlerRequest()方法的調

 

用,最后配置了視圖解析器InternalResourceViewResolver來解析結果是,並將結果呈現給用戶

 

注意:在Spring 4.0以后,就不需要配置處理器映射器BeanNameUrlHandlerMapping和處理器適配器SimpleControllerHandlerAdapter了

 

 

 

 

 

  4,編寫Controller類

 

 

 

 

  5,jsp頁面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM