您好,登錄后才能下訂單哦!
這篇“SpringMVC面試題有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“SpringMVC面試題有哪些”文章吧。
Spring MVC是spring框架的一個模塊,是基于MVC的輕量級Web框架。Spring是目前Web開發中的一個很重要的部分。
一、SpringMVC有什么優點?
SpringMVC是一個典型教科書式的MVC框架,對于初學者而言是非常好的。其他優點可以概括為:
1、SpringMVC可以支持各種試圖技術,而不僅僅局限于JSP;
2、與Spring框架集成(如IoC容器、AOP等);
3、清晰的角色分配:前端控制器(dispatcherServlet) , 請求到處理器映射(handlerMapping), 處理器適配器(HandlerAdapter), 視圖解析器(ViewResolver);
4、支持各種請求資源的映射策略;
二、SpringMVC的主要組件有什么?
(1)前端控制器 DispatcherServlet。接收請求、響應結果,相當于轉發器,有了DispatcherServlet 就減少了其它組件之間的耦合度。
(2)處理器映射器HandlerMapping。根據請求的URL來查找Handler。
(3)處理器適配器HandlerAdapter。在編寫Handler的時候要按照HandlerAdapter要求的規則去編寫,這樣適配器HandlerAdapter才可以正確的去執行Handler。
(4)處理器Handler。編寫Handler時按照HandlerAdapter的要求去做,這樣適配器才可以去正確執行Handler。
(5)視圖解析器 ViewResolver。進行視圖的解析,根據視圖邏輯名解析成真正的視圖(view)。
(6)視圖View。View是一個接口, 它的實現類支持不同的視圖類型(jsp,freemarker,pdf等等)。
三、SpringMVC和Struts2的區別有哪些?
1、springmvc的入口是一個servlet即前端控制器(DispatchServlet),而struts2入口是一個filter過慮器(StrutsPrepareAndExecuteFilter)。
2、springmvc是基于方法開發(一個url對應一個方法),請求參數傳遞到方法的形參,可以設計為單例或多例(建議單例),struts2是基于類開發,傳遞參數是通過類的屬性,只能設計為多例。
3、Struts采用值棧存儲請求和響應的數據,通過OGNL存取數據,springmvc通過參數解析器是將request請求內容解析,并給方法形參賦值,將數據和視圖封裝成ModelAndView對象,最后又將ModelAndView中的模型數據通過reques域傳輸到頁面。Jsp視圖解析器默認使用jstl。
四、SpringMVC的使用流程
(1)用戶發送請求至前端控制器DispatcherServlet;
(2) DispatcherServlet收到請求后,調用HandlerMapping處理器映射器,請求獲取Handle;
(3)處理器映射器根據請求url找到具體的處理器,生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet;
(4)DispatcherServlet 調用 HandlerAdapter處理器適配器;
(5)HandlerAdapter 經過適配調用 具體處理器(Handler,也叫后端控制器);
(6)Handler執行完成返回ModelAndView;
(7)HandlerAdapter將Handler執行結果ModelAndView返回給DispatcherServlet;
(8)DispatcherServlet將ModelAndView傳給ViewResolver視圖解析器進行解析;
(9)ViewResolver解析后返回具體View;
(10)DispatcherServlet對View進行渲染視圖(即將模型數據填充至視圖中)
(11)DispatcherServlet響應用戶。
以上就是關于“SpringMVC面試題有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。