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

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

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

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開(kāi)發(fā)時(shí),可以選擇使用Spring的Spring MVC框架或集成其他MVC開(kāi)發(fā)框架,該框架通過(guò)把Model,View,Controller分離,將web層進(jìn)行職責(zé)解耦,把復(fù)雜的web應(yīng)用分成邏輯清晰的幾部分,簡(jiǎn)化了開(kāi)發(fā)。

2. Spring MVC 有哪些組件?

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

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

(1)用戶(hù)發(fā)送請(qǐng)求至前端控制器DispatcherServlet;

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

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

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

(5)HandlerAdapter 經(jīng)過(guò)適配調(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對(duì)View進(jìn)行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)

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

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

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

5. @RequestMapping 的作用是什么?

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

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

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

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

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

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

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

8. SpingMvc中的控制器的注解一般用那個(gè),有沒(méi)有別的注解可以替代?

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

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

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

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

在方法的形參中聲明request,SpringMvc就會(huì)自動(dòng)把request對(duì)象傳入

相關(guān)文章

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

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

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

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

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

    解析HikariCP一百行代碼輕松掌握多線(xiàn)程

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

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

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

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

    這篇文章主要介紹了SpringBoot +Vue開(kāi)發(fā)考試系統(tǒng),支持多種題型:選擇題、多選題、判斷題、填空題、綜合題以及數(shù)學(xué)公式。支持在線(xiàn)考試,教師在線(xiàn)批改試卷。本文通過(guò)實(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ì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴呢很有幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot讀取配置優(yōu)先級(jí)順序的方法詳解

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

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

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

    通過(guò)hystrix可以解決雪崩效應(yīng)問(wèn)題,它提供了資源隔離、降級(jí)機(jī)制、融斷、緩存等功能。接下來(lái)通過(guò)本文給大家分享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)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • idea項(xiàng)目文件夾橫向顯示,縱向顯示的解決方法

    idea項(xiàng)目文件夾橫向顯示,縱向顯示的解決方法

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

最新評(píng)論