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

王林
發布: 2020-06-29 17:11:26
轉載
1949 人瀏覽過

本文來自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.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!