搜尋
首頁JavaJava面試題2020全新Java面試題目-Spring(三)

2020全新Java面試題目-Spring(三)

Jun 29, 2020 pm 05:10 PM
javaspring面試題

本文來自java面試題,文中為大家分享了spring相關的面試題,希望可以幫助到大家。 1.說一下spring mvc運作流程;2、spring mvc有哪些客戶端;3、@RequestMapping的作用是什麼。

2020全新Java面試題目-Spring(三)

一、說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中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

MantisBT

MantisBT

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