最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java經典面試題匯總:Spring MVC

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

1. 什么是Spring MVC ?

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

2. Spring MVC 有哪些組件?

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

3. 說一下 Spring MVC 運行流程?

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

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

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

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

(5)HandlerAdapter 經過適配調用 具體處理器進行處理業(yè)務邏輯;

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

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

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

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

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

(11)DispatcherServlet響應用戶。

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

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

5. @RequestMapping 的作用是什么?

將 http 請求映射到相應的類/方法上。

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

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

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

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

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

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

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

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

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

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

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

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

相關文章

  • Java編程語言特性和優(yōu)勢

    Java編程語言特性和優(yōu)勢

    這篇文章主要介紹了Java編程語言特性和優(yōu)勢,Java是一門面向對象編程語言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,同時也增加了垃圾回收機制,釋放掉不被使用的內存空間,解決了管理內存空間的煩惱,下面來聊聊Java編程語言特性和優(yōu)勢吧
    2022-01-01
  • springboot 之jpa高級查詢操作

    springboot 之jpa高級查詢操作

    這篇文章主要介紹了springboot 之jpa高級查詢操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java設計模式之策略模式示例詳解

    Java設計模式之策略模式示例詳解

    這篇文章主要為大家詳細介紹了Java的策略模式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Java代理模式與動態(tài)代理之間的關系以及概念

    Java代理模式與動態(tài)代理之間的關系以及概念

    代理模式是開發(fā)中常見的一種設計模式,使用代理模式可以很好的對程序進行橫向擴展。動態(tài)代理:代理類在程序運行時被創(chuàng)建的代理方式。關鍵在于動態(tài),程序具有了動態(tài)特性,可以在運行期間根據(jù)不同的目標對象生成動態(tài)代理對象
    2023-02-02
  • 解決SpringBoot內嵌Tomcat并發(fā)容量的問題

    解決SpringBoot內嵌Tomcat并發(fā)容量的問題

    這篇文章主要介紹了解決SpringBoot內嵌Tomcat并發(fā)容量的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring整合Mybatis的全過程

    Spring整合Mybatis的全過程

    這篇文章主要介紹了Spring整合Mybatis的全過程,包括spring配置文件書寫映射器接口的實例代碼,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2021-06-06
  • SpringCloud持久層框架MyBatis Plus的使用與原理解析

    SpringCloud持久層框架MyBatis Plus的使用與原理解析

    MyBatisPlus為MyBatis的增強版,專注于簡化數(shù)據(jù)庫操作,提供自動化CRUD、內置分頁和樂觀鎖等功能,極大提升開發(fā)效率,在SpringCloud微服務架構中,MyBatisPlus通過插件機制和自動生成代碼功能,有效支持企業(yè)級應用和分布式系統(tǒng)的開發(fā)
    2024-10-10
  • Maven中利用assembly插件打包jar包

    Maven中利用assembly插件打包jar包

    本文詳細講解了Maven中利用assembly插件打包jar包的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • java開發(fā)WMS倉庫商品預警需求示例解析

    java開發(fā)WMS倉庫商品預警需求示例解析

    這篇文章主要為大家介紹了java開發(fā)WMS倉庫商品預警需求示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • Java分布式鎖、分布式ID和分布式事務的實現(xiàn)方案

    Java分布式鎖、分布式ID和分布式事務的實現(xiàn)方案

    在分布式系統(tǒng)中,分布式鎖、分布式ID和分布式事務是常用的組件,用于解決并發(fā)控制、唯一標識和數(shù)據(jù)一致性的問題,本文將介紹Java中常用的分布式鎖、分布式ID和分布式事務的實現(xiàn)方案,并通過具體的示例代碼演示它們的用法和應用場景
    2023-06-06

最新評論

辽宁省| 奇台县| 贺兰县| 莲花县| 安溪县| 瓮安县| 松桃| 平阳县| 西充县| 兴业县| 红原县| 新蔡县| 滨海县| 大宁县| 靖西县| 民县| 东辽县| 清徐县| 昂仁县| 宁陵县| 甘孜| 上饶县| 孟连| 旬阳县| 武城县| 秦安县| 苍梧县| 米林县| 西吉县| 外汇| 长海县| 上栗县| 睢宁县| 武穴市| 正安县| 拉孜县| 叙永县| 沿河| 玉龙| 错那县| 靖远县|