欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java經(jīng)典面試題匯總:Spring MVC

 更新時間:2021年07月21日 11:32:18   作者:讓程序飛  
本篇總結(jié)的是Spring MVC框架相關(guān)的面試題,后續(xù)會持續(xù)更新,希望我的分享可以幫助到正在備戰(zhàn)面試的實(shí)習(xí)生或者已經(jīng)工作的同行,如果發(fā)現(xiàn)錯誤還望大家多多包涵,不吝賜教,謝謝

1. 什么是Spring MVC ?

Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring 框架提供了構(gòu)建WEB 應(yīng)用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構(gòu),從而在使用Spring進(jìn)行WEB開發(fā)時,可以選擇使用Spring的Spring MVC框架或集成其他MVC開發(fā)框架,該框架通過把Model,View,Controller分離,將web層進(jìn)行職責(zé)解耦,把復(fù)雜的web應(yīng)用分成邏輯清晰的幾部分,簡化了開發(fā)。

2. Spring MVC 有哪些組件?

  • 前置控制器 DispatcherServlet。
  • 映射控制器 HandlerMapping。
  • 處理器 Controller。
  • 模型和視圖 ModelAndView。
  • 視圖解析器 ViewResolver。

3. 說一下 Spring MVC 運(yùn)行流程?

(1)用戶發(fā)送請求至前端控制器DispatcherServlet;

(2)DispatcherServlet收到請求后,調(diào)用HandlerMapping處理器映射器,請求獲取Handler;

(3)處理器映射器根據(jù)請求url找到具體的處理器Handler,生成處理器對象及處理器攔截器(如果有則生成),一并返回給DispatcherServlet;

(4)DispatcherServlet 調(diào)用 HandlerAdapter處理器適配器,請求執(zhí)行Handler;

(5)HandlerAdapter 經(jīng)過適配調(diào)用 具體處理器進(jìn)行處理業(yè)務(wù)邏輯;

(6)Handler執(zhí)行完成返回ModelAndView;

(7)HandlerAdapter將Handler執(zhí)行結(jié)果ModelAndView返回給DispatcherServlet;

(8)DispatcherServlet將ModelAndView傳給ViewResolver視圖解析器進(jìn)行解析;

(9)ViewResolver解析后返回具體View;

(10)DispatcherServlet對View進(jìn)行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)

(11)DispatcherServlet響應(yīng)用戶。

4. Spring MVC的優(yōu)點(diǎn):

  • 它是基于組件技術(shù)的。全部的應(yīng)用對象,無論控制器和視圖,還是業(yè)務(wù)對象之類的都是 java組件.并且和Spring提供的其他基礎(chǔ)結(jié)構(gòu)緊密集成
  • 不依賴于Servlet API(目標(biāo)雖是如此,但是在實(shí)現(xiàn)的時候確實(shí)是依賴于Servlet的)
  • 可以任意使用各種視圖技術(shù),而不僅僅局限于JSP
  • 支持各種請求資源的映射策略

5. @RequestMapping 的作用是什么?

將 http 請求映射到相應(yīng)的類/方法上。

6. 如果在攔截請求中,我想攔截get方式提交的方法,怎么配置?

可以在@RequestMapping注解里面加上method=RequestMethod.GET,或者使用@GetMapping。

7. SpringMVC常用的注解有哪些?

@RequestMapping:用于處理請求 url 映射的注解,可用于類或方法上。用于類上,則表示類中的所有響應(yīng)請求的方法都是以該地址作為父路徑。

@RequestBody:注解實(shí)現(xiàn)接收http請求的json數(shù)據(jù),將json轉(zhuǎn)換為java對象。

@ResponseBody:注解實(shí)現(xiàn)將conreoller方法返回對象轉(zhuǎn)化為json對象響應(yīng)給客戶。

8. SpingMvc中的控制器的注解一般用那個,有沒有別的注解可以替代?

用@Conntroller注解,表示是表現(xiàn)層,不能用用別的注解代替。

9. Spring MVC和Struts2的區(qū)別有哪些?

  • springmvc的入口是一個servlet即前端控制器(DispatchServlet),而struts2入口是一個filter過慮器(StrutsPrepareAndExecuteFilter)。
  • springmvc是基于方法開發(fā)(一個url對應(yīng)一個方法),請求參數(shù)傳遞到方法的形參,可以設(shè)計為單例或多例(建議單例),struts2是基于類開發(fā),傳遞參數(shù)是通過類的屬性,只能設(shè)計為多例。
  • Struts采用值棧存儲請求和響應(yīng)的數(shù)據(jù),通過OGNL存取數(shù)據(jù),springmvc通過參數(shù)解析器是將request請求內(nèi)容解析,并給方法形參賦值,將數(shù)據(jù)和視圖封裝成ModelAndView對象,最后又將ModelAndView中的模型數(shù)據(jù)通過reques域傳輸?shù)巾撁妗sp視圖解析器默認(rèn)使用jstl。

10. 怎么樣在方法里面得到Request,或者Session

在方法的形參中聲明request,SpringMvc就會自動把request對象傳入

相關(guān)文章

  • java設(shè)計模式之裝飾模式詳細(xì)介紹

    java設(shè)計模式之裝飾模式詳細(xì)介紹

    這篇文章主要介紹了java設(shè)計模式之裝飾模式,有需要的朋友可以參考一下
    2013-12-12
  • Java代碼中如何去掉煩人的“!=null”

    Java代碼中如何去掉煩人的“!=null”

    這篇文章主要介紹了Java代碼中去掉煩人的“!=null”,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 解析HikariCP一百行代碼輕松掌握多線程

    解析HikariCP一百行代碼輕松掌握多線程

    這篇文章主要為大家介紹了HikariCP一百行代碼解析,輕松掌握多線程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Java轉(zhuǎn)JSON串的幾種方式

    Java轉(zhuǎn)JSON串的幾種方式

    本文給大家總結(jié)一下java轉(zhuǎn)json串的幾種方式,每種方式通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • SpringBoot +Vue開發(fā)考試系統(tǒng)的教程

    SpringBoot +Vue開發(fā)考試系統(tǒng)的教程

    這篇文章主要介紹了SpringBoot +Vue開發(fā)考試系統(tǒng),支持多種題型:選擇題、多選題、判斷題、填空題、綜合題以及數(shù)學(xué)公式。支持在線考試,教師在線批改試卷。本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2020-05-05
  • 教你使用java將excel數(shù)據(jù)導(dǎo)入MySQL

    教你使用java將excel數(shù)據(jù)導(dǎo)入MySQL

    今天教大家如何使用Java將excel數(shù)據(jù)導(dǎo)入MySQL,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴呢很有幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot讀取配置優(yōu)先級順序的方法詳解

    SpringBoot讀取配置優(yōu)先級順序的方法詳解

    Spring Boot作為一種輕量級的Java應(yīng)用程序框架,以其開箱即用、快速搭建新項目的特性贏得了廣大開發(fā)者的青睞,在Spring Boot生態(tài)系統(tǒng)中,配置屬性可以從各種來源獲取,本文將深入探討Spring Boot加載外部配置屬性的優(yōu)先級規(guī)則,需要的朋友可以參考下
    2024-05-05
  • SpringCloud-Hystrix實(shí)現(xiàn)原理總結(jié)

    SpringCloud-Hystrix實(shí)現(xiàn)原理總結(jié)

    通過hystrix可以解決雪崩效應(yīng)問題,它提供了資源隔離、降級機(jī)制、融斷、緩存等功能。接下來通過本文給大家分享SpringCloud-Hystrix實(shí)現(xiàn)原理,感興趣的朋友一起看看吧
    2021-05-05
  • Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法示例

    Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法示例

    這篇文章主要介紹了Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法,結(jié)合實(shí)例形式分析了java反射機(jī)制獲取注解的具體實(shí)現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2019-09-09
  • idea項目文件夾橫向顯示,縱向顯示的解決方法

    idea項目文件夾橫向顯示,縱向顯示的解決方法

    這篇文章主要介紹了idea項目文件夾橫向顯示,縱向顯示的解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08

最新評論