1. 程式人生 > 其它 >springmvc如何使用檢視解析器_SpringMVC相關面試題

springmvc如何使用檢視解析器_SpringMVC相關面試題

技術標籤:springmvc如何使用檢視解析器springmvc框架介紹springmvc的工作原理

點選藍字

關注我們

最近面試時,每家公司的必問題,今日作此分享,如有更好的解決方案或者存在錯誤,還請指正。

Q1

什麼是 SpringMvc?

SpringMvc 是 spring 的一個模組,基於 MVC 的一個框架,無需中間整合層來整合。

Q2

普查對SpringMVC 工作流程?

1)使用者傳送請求至前端控制器 DispatcherServlet。

2)DispatcherServlet 收到請求呼叫 HandlerMapping 處理器對映器。

3)處理器對映器找到具體的處理器(可以根據 xml 配置、註解進行查詢),生成處理器物件 及處理器攔截器(如果有則生成)一併返回給 DispatcherServlet。

4)DispatcherServlet 呼叫 HandlerAdapter 處理器介面卡。

5)HandlerAdapter 經過適配呼叫具體的處理器(Controller,也叫後端控制器)。

6)Controller 執行完成返回 ModelAndView。

7)HandlerAdapter 將 controller 執行結果 ModelAndView 返回給 DispatcherServlet。

8)DispatcherServlet 將 ModelAndView 傳給 ViewReslover 檢視解析器。

9)ViewReslover 解析後返回具體 View。

10)DispatcherServlet 根據 View 進行渲染檢視。

11)DispatcherServlet 響應使用者。

Q3

Spring MVC 的優點?

  1. 它是基於元件技術的.全部的應用物件,無論控制器和檢視,還是業務物件之類的都是 java 元件.並且和 Spring 提供的其他基礎結構緊密整合.

  2. 不依賴於 Servlet API(目標雖是如此,但是在實現的時候確實是依賴於 Servlet 的

  3. 可以任意使用各種檢視技術,而不僅僅侷限於 JSP

  4. 支援各種請求資源的對映策略

  5. 它應是易於擴充套件的

Q4

SpringMVC 工作原理?

  1. 客戶端傳送請求到 DispatcherServlet

  2. DispatcherServlet 查詢 handlerMapping 找到處理請求的 Controller

  3. Controller 呼叫業務邏輯後,返回 ModelAndView

  4. DispatcherServlet 查詢 ModelAndView,找到指定檢視

  5. 檢視將結果返回到客戶端

Q5

怎麼樣把某個請求對映到特定的方法上面?

直接在方法上面加上註解@RequestMapping,並且在這個註解裡面寫上要攔截的路徑

Q6

SpringMVC 怎麼樣設定重定向和轉發的?(如何理解重定向和轉發)

在返回值前面加"forward:"就可以讓結果轉發,譬如"forward:user.do?name=method4" 在 返回值前面加"redirect:"就可以讓返回值重定向,譬如"redirect:http://www.baidu.com"

Q7

簡單介紹下 springMVC 和 struts2 的區別有哪些?

  1. springmvc 的入口是一個 servlet 即前端控制器,而 struts2 入口是一個 filter 過慮器。

  2. springmvc 是基於方法開發,請求引數傳遞到方法的形參,可以設計為單例或多例(建議單例),struts2 是基於類開發,傳遞引數是通過類的屬性,只能設 計為多例。

  3. Struts 採用值棧儲存請求和響應的資料,通過 OGNL 存取資料,springmvc 通過引數解 析器是將 request 請求內容解析,並給方法形參賦值,將資料和檢視封裝成 ModelAndView 物件,最後又將 ModelAndView 中的模型資料通過 reques 域傳輸到頁面。Jsp 檢視解析器默 認使用 jstl。

Q8

什麼是 Spring 的 MVC 框架?

Spring 配備構建 Web 應用的全功能 MVC 框架。Spring 可以很便捷地和其他 MVC Spring 配備構建 Web 應用的全功能 MVC 框架。Spring 可以很便捷地和其他 MVC 框架整合,如 Struts,Spring 的 MVC 框架用控制反轉把業務物件和控制邏輯清晰 地隔離。它也允許以宣告的方式把請求引數和業務物件繫結

Q9

SpringMvc 裡面攔截器是怎麼寫的?

有兩種寫法,一種是實現介面,另外一種是繼承介面卡類,然後在 SpringMvc 的配置檔案中 配置攔截器即可:

<mvc:interceptors>    <bean id="myInterceptor" class="com.et.action.MyHandlerInterceptor">bean>    <mvc:interceptor>  <mvc:mapping path="/modelMap.do" />  <bean class="com.et.action.MyHandlerInterceptorAdapter" />  mvc:interceptor>mvc:interceptors>

Q10

@RequestMapping 註解用在類上面有什麼作用?

是一個用來處理請求地址對映的註解,可用於類或方法上。用於類上,表示類中的所 有響應請求的方法都是以該地址作為父路徑

往期推薦

資料庫相關問題面試小結

今日隨筆-oracle小記(一)

今日隨筆——oracle小記(二)

c07704746682dee4e5f6a3ef655c4b54.png

掃碼關注我們

微訊號|dx_amber

程式媛懂你的心