Python知識分享網 - 專業(yè)的Python學習網站 學Python,上Python222
21道Java Spring MVC綜合面試題詳解含答案(值得珍藏)PDF 下載
匿名網友發(fā)布于:2024-01-29 11:25:26
(侵權舉報)
(假如點擊沒反應,多刷新兩次就OK!)

21道Java Spring MVC綜合面試題詳解含答案(值得珍藏)PDF 下載   圖1

 

 

 

資料內容:

 

 

1.概述
 
1.1 什么是Spring MVC?簡單介紹下你對Spring MVC的理
解?
Spring MVC是一個基于Java的實現了MVC設計模式的請求驅動類型的輕量級Web框架,通過把模型-視圖-
制器分離,將web層進行職責解耦,把復雜的web應用分成邏輯清晰的幾部分,簡化開發(fā),減少出錯,方便
組內開發(fā)人員之間的配合。
 
1.2 Spring MVC的優(yōu)點
1)可以支持各種視圖技術,而不僅僅局限于JSP;
2)與Spring框架集成(如IoC容器、AOP等);
3)清晰的角色分配:前端控制器(dispatcherServlet) , 請求到處理器映射(handlerMapping),處理器
適配器(HandlerAdapter), 視圖解析器(ViewResolver)。
4) 支持各種請求資源的映射策略。
 
2.核心組件

 

2.1 Spring MVC的主要組件?

1)前端控制器 DispatcherServlet(不需要程序員開發(fā))
作用:接收請求、響應結果,相當于轉發(fā)器,有了DispatcherServlet 就減少了其它組件之間
的耦合度。
2)處理器映射器HandlerMapping(不需要程序員開發(fā))
作用:根據請求的URL來查找Handler
3)處理器適配器HandlerAdapter
注意:在編寫Handler的時候要按照HandlerAdapter要求的規(guī)則去編寫,這樣適配器HandlerAdapter才可
以正確的去執(zhí)行Handler。
4)處理器Handler(需要程序員開發(fā))
5)視圖解析器 ViewResolver(不需要程序員開發(fā))
作用:進行視圖的解析,根據視圖邏輯名解析成真正的視圖(view
6)視圖View(需要程序員開發(fā)jsp
View是一個接口, 它的實現類支持不同的視圖類型(jsp,freemarkerpdf等等)
 
2.2 什么是DispatcherServlet
 
SpringMVC框架是圍繞DispatcherServlet來設計的,它用來處理所有的HTTP請求和響應。
 
2.3 什么是Spring MVC框架的控制器?
 
控制器提供一個訪問應用程序的行為,此行為通常通過服務接口實現??刂破鹘馕鲇脩糨斎氩⑵滢D換為一
個由視圖呈現給用戶的模型。Spring用一個非常抽象的方式實現了一個控制層,允許用戶創(chuàng)建多種用途的控
制器。
 
2.4 Spring MVC的控制器是不是單例模式,如果是,有什么

問題,怎么解決?

是單例模式,所以在多線程訪問的時候有線程安全問題,不要用同步,會影響性能的,解決方案是在控制器
里面不能寫字段。
 
3.工作原理

3.1 Spring MVC工作原理

1)客戶端發(fā)送請求到DispatcherServlet
2DispatcherServlet查詢handlerMapping找到處理請求的Controller
3Controller調用業(yè)務邏輯后,返回ModelAndView
4DispatcherServlet查詢ModelAndView,找到指定視圖
5)視圖將結果返回到客戶端