本文來自java面試題,文中為大家分享了spring相關的面試題,希望可以幫助到大家。 1.說一下spring mvc運作流程;2、spring mvc有哪些客戶端;3、@RequestMapping的作用是什麼。
一、說spring mvc 運行流程
(相關推薦:java面試題)
Spring運行流程描述:
1、使用者向伺服器發送請求,請求被Spring 前端控制Servelt DispatcherServlet捕獲;
2、DispatcherServlet對請求URL進行解析,得到請求資源標識符(URI)。然後根據該URI,調用HandlerMapping獲得該Handler配置的所有相關的對象(包括Handler對像以及Handler對象對應的攔截器),最後以HandlerExecutionChain對象的形式返回;
3、DispatcherServlet 根據獲得的Handler ,選擇一個合適的HandlerAdapter;(附註:如果成功獲得HandlerAdapter後,此時將開始執行攔截器的preHandler(...)方法)
4、提取Request中的模型數據,填充Handler入參,開始執行Handler(Controller)。在填充Handler的入參過程中,根據你的配置,Spring將幫你做一些額外的工作:
HttpMessageConveter: 將請求訊息(如Json、xml等資料)轉換成一個對象,將對象轉換為指定的回應資訊;
資料轉換:對請求訊息進行資料轉換。如String轉換成Integer、Double等;
資料根式化:對請求訊息進行資料格式化。如將字串轉換成格式化數字或格式化日期等;
資料驗證: 驗證資料的有效性(長度、格式等),驗證結果儲存到BindingResult或Error中;
5、Handler執行完成後,向DispatcherServlet 傳回一個ModelAndView物件;
6、根據傳回的ModelAndView,選擇一個適合的ViewResolver(必須是已經註冊到Spring容器中的ViewResolver)回傳給DispatcherServlet ;
7、ViewResolver 結合Model和View,來渲染視圖;
8、將渲染結果回傳給客戶端。
二、spring mvc 有哪些元件?
Spring MVC的核心元件:
#1、DispatcherServlet:中央控制器,把請求給轉送到特定的控制類別
2、Controller:具體處理要求的控制器
3、HandlerMapping:映射處理器,負責映射中央處理器轉發給controller時的映射策略
4、ModelAndView:服務層傳回的資料和視圖層的封裝類別
5、ViewResolver:視圖解析器,解析特定的視圖
6、Interceptors :攔截器,負責攔截我們定義的請求然後做處理工作
#三、@RequestMapping 的作用是什麼?
RequestMapping是用來處理請求位址對映的註解,可用來類別或方法上。用於類別上,表示類別中的所有回應請求的方法都是以該位址作為父路徑。
RequestMapping註解有六個屬性,下面我們把她分成三類來說明。
value,method:
value:指定要求的實際位址,指定的位址可以是URI Template 模式(後面將會說明);
#method:指定要求的method類型, GET、POST、PUT、DELETE等;
consumes,produces
#consumes:指定處理請求的提交內容類型(Content-Type),例如application/json, text/html;
produces:指定傳回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才會傳回;
params,headers
params: 指定request中必須包含某些參數值是,才讓該方法處理。
headers:指定request中必須包含某些指定的header值,才能讓此方法處理請求。
以上是2020全新Java面試題目-Spring(三)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。