<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【金三銀四】Spring MVC面試題(2021最新版)(2021最新版)

          共 2511字,需瀏覽 6分鐘

           ·

          2021-03-31 10:46

          前言

          這篇文章主要分享了 29個(gè) Spring 經(jīng)典面試題【附答案解析】,現(xiàn)在分享給大家,也給大家做個(gè)參考。正好現(xiàn)在金三銀四,希望對(duì)大家有所幫助,有用的話點(diǎn)贊支持!

          1、什么是Spring MVC?簡單介紹下你對(duì)Spring MVC的理解?

          Spring MVC是一個(gè)基于Java的實(shí)現(xiàn)了MVC設(shè)計(jì)模式的請求驅(qū)動(dòng)類型的輕量級(jí)Web框架,通過把模型-視圖-控制器分離,將web層進(jìn)行職責(zé)解耦,把復(fù)雜的web應(yīng)用分成邏輯清晰的幾部分,簡化開發(fā),減少出錯(cuò),方便組內(nèi)開發(fā)人員之間的配合。

          2、Spring MVC的優(yōu)點(diǎn)

          (1)可以支持各種視圖技術(shù),而不僅僅局限于JSP;

          (2)與Spring框架集成(如IoC容器、AOP等);

          (3)清晰的角色分配:前端控制器(dispatcherServlet) , 請求到處理器映射(handlerMapping), 處理器適配器(HandlerAdapter), 視圖解析器(ViewResolver)。

          (4) 支持各種請求資源的映射策略。

          核心組件

          3、Spring MVC的主要組件?

          (1)前端控制器 DispatcherServlet(不需要程序員開發(fā))

          作用:接收請求、響應(yīng)結(jié)果,相當(dāng)于轉(zhuǎn)發(fā)器,有了DispatcherServlet 就減少了其它組件之間的耦合度。

          (2)處理器映射器HandlerMapping(不需要程序員開發(fā))

          作用:根據(jù)請求的URL來查找Handler

          (3)處理器適配器HandlerAdapter

          注意:在編寫Handler的時(shí)候要按照HandlerAdapter要求的規(guī)則去編寫,這樣適配器HandlerAdapter才可以正確的去執(zhí)行Handler。

          (4)處理器Handler(需要程序員開發(fā))

          (5)視圖解析器 ViewResolver(不需要程序員開發(fā))

          作用:進(jìn)行視圖的解析,根據(jù)視圖邏輯名解析成真正的視圖(view)

          (6)視圖View(需要程序員開發(fā)jsp)

          View是一個(gè)接口, 它的實(shí)現(xiàn)類支持不同的視圖類型(jsp,freemarker,pdf等等)

          4、什么是DispatcherServlet?

          Spring的MVC框架是圍繞DispatcherServlet來設(shè)計(jì)的,它用來處理所有的HTTP請求和響應(yīng)。

          5、什么是Spring MVC框架的控制器?

          控制器提供一個(gè)訪問應(yīng)用程序的行為,此行為通常通過服務(wù)接口實(shí)現(xiàn)。控制器解析用戶輸入并將其轉(zhuǎn)換為一個(gè)由視圖呈現(xiàn)給用戶的模型。Spring用一個(gè)非常抽象的方式實(shí)現(xiàn)了一個(gè)控制層,允許用戶創(chuàng)建多種用途的控制器。

          6、Spring MVC的控制器是不是單例模式,如果是,有什么問題,怎么解決?

          答:是單例模式,所以在多線程訪問的時(shí)候有線程安全問題,不要用同步,會(huì)影響性能的,解決方案是在控制器里面不能寫字段。

          7、請描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?

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

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

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

          • (4)DispatcherServlet 調(diào)用 HandlerAdapter處理器適配器;

          • (5)HandlerAdapter 經(jīng)過適配調(diào)用 具體處理器(Handler,也叫后端控制器);

          • (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)用戶。

          8、MVC是什么?MVC設(shè)計(jì)模式的好處有哪些

          9、注解原理是什么?

          10、Spring MVC常用的注解有哪些?

          11、SpingMvc中的控制器的注解一般用哪個(gè),有沒有別的注解可以替代?

          12、@Controller注解的作用?

          13、@RequestMapping注解的作用?

          14、@ResponseBody注解的作用?

          15、@PathVariable和@RequestParam的區(qū)別:

          16、Spring MVC與Struts2區(qū)別:

          17、Spring MVC怎么樣設(shè)定重定向和轉(zhuǎn)發(fā)的?

          18、Spring MVC怎么和AJAX相互調(diào)用的?

          19、如何解決POST請求中文亂碼問題,GET的又如何處理呢?

          20、Spring MVC的異常處理?

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

          22、怎樣在方法里面得到Request,或者Session?

          23、如果想在攔截的方法里面得到從前臺(tái)傳入的參數(shù),怎么得到?

          24、如果前臺(tái)有很多個(gè)參數(shù)傳入,并且這些參數(shù)都是一個(gè)對(duì)象的,那么怎么樣快速得到這個(gè)對(duì)象?

          25、Spring MVC中函數(shù)的返回值是什么?

          26、Spring MVC用什么對(duì)象從后臺(tái)向前臺(tái)傳遞數(shù)據(jù)的?

          27、怎么樣把ModelMap里面的數(shù)據(jù)放入Session里面?

          28、Spring MVC里面攔截器是怎么寫的?

          29、介紹一下 WebApplicationContext:

          下方掃碼關(guān)注公眾號(hào)加我微信【備注:公眾號(hào)】 免費(fèi)領(lǐng)取

          程序員這個(gè)職業(yè)需要我們不斷進(jìn)步,需要我們不斷學(xué)習(xí)新的知識(shí)。

          喜歡小編的文章可以點(diǎn)點(diǎn)關(guān)注哦!

          小編持續(xù)為你分享最新文章 和 福利領(lǐng)取哦


          瀏覽 57
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.毛片网站 | 欧州无码 | 成人免费黄色视屏 | aaa三级片久久久 | 天堂在线无码视频 |