1. 程式人生 > >SpringMVC總結(常見筆面試題)

SpringMVC總結(常見筆面試題)

SpringMVC

1.SpringMVC執行流程

https://www.jianshu.com/p/8a20c547e245

   (1)使用者將請求傳送到前端控制器

   (2)前端控制器請求處理器對映器查詢Handler(處理器)

   (3)處理器對映器向前端控制器返回Handler執行鏈

   (4)前端控制器呼叫處理器介面卡去執行Handler

   (5)處理器執行Handler

   (6)Handler執行完Hander返回ModelAndView給處理器介面卡

   (7)處理器介面卡將ModelAndView返回給前端控制器

   (8)前端控制器將ModelAndView傳給檢視解析器

   (9)檢視解析器解析後返回具體View給前端控制器

   (10)前端控制器對view進行渲染檢視(即將模型資料填充到檢視中)

   (11)前端控制器向用戶響應結果

2. MVC含義

  Model(模型):表示應用程式核心,比如資料庫記錄列表

  View(檢視):顯示資料

  Cotroller(處理器):處理輸入

3. SpringMVC常用註解

    (1)處理器使用 @Controller

    (2)@RequestMapping  請求URL

    (3)@RequestBody 實現接收http請求的json資料,將json資料轉化java物件

    (4)@ResposeBody  實現將物件轉化為json響應給客戶

4. 如何開啟註解處理器和介面卡

       一般會在springmvc.xml通過<mvc:annotation-driven>

5. 簡單介紹一下SpringMVC

SpringMVC是一個基於MVC架構的用來簡化web應用程式開發的應用開發框架,是Spring的一個子模組,在Web模型中,SpringMVC是一個很流行的框架,通過把Model,View,Controller分離,把複雜的Web應用分成了幾部分,簡化開發,減少出錯。 

6. SpringMVC的優點

  (1)基於元件開發

  (2)與Spring整合較好 

7. SpringMVC與Struts2的區別

   (1)SpringMVC的入口是一個servlet即前端控制器,Struts2入口是一個fifter過濾器

   (2)SpringMVC是基於方法開發的,可以設計為單例或多例,struts2是基於類開發只能設計為多例模式

8. SpringMVC如何設定重定向和請求轉發

    (1)請求轉發:在返回值前加 “forword:” ,如 "forword:user.do?name=method4"

    (2)重定向:在返回值前加"redirect","redirect:http//www.baidu.com"

9. SpringMVC的核心入口是DispathServlet

10.SpringMVC的控制器是單例模式的,會存線上程安全問題,解決辦法是:在控制器裡面不要寫欄位(類成員變數)。      

11.SpringMVC用什麼物件從後臺向前臺傳遞資料

  通過ModelMap

12.怎樣把ModelMap裡面的資料放入Session

可以在類上面加上@SessionAttributes註解

13.解決post和get中文亂碼問題

 post:每次在Request解析資料時設定編碼格式,request.setCharacterEncoding(“utf-8”)或者使用編碼過濾器解決

 get:修改tomcat伺服器的server.xml檔案