SpringMVC專項

SpringMVC知識點

  1. 什麼是SpringMVC

(1) SpringMVCSpring全家桶中的一個模塊,基於MVC框架,無需中間整合層來整合

  1. SpringMVC的優點

(1) 基於組件技術。全部的應用對象,無論控制器和視圖,還是業務對象之類的都是java組件。並且和Spring提供的其他基礎結構緊密集成

(2) 可以任意使用各種視圖技術,而不僅僅侷限於JSP

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

(4) 易於擴展

  1. SpringMVC工作原理

(1) 客戶端發送請求到DispatcherServlet

(2) DispatcherServlet查詢handleMaping找到處理請求的Controller

(3) Controller調用業務邏輯後,返回ModelAndView

(4) DispatcherServlet查詢ModelAndView,找到指定視圖

(5) 視圖將結果返回到客戶端

  1. SpringMVC流程(重點建議直接背會)

(1) 用戶發送請求至前端控制器DispacherServlet

(2) DispacherServlet收到請求調用HandlerMapping處理器映射器

(3) 處理器映射器找到具體的處理器(可根據xml、註解進行查找),生成處理器對象

(4) DispacherServlet調用HandlerAdapter處理器適配器

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

(6) Controller執行返回ModelAndView

(7) HandlerAdapterCoontroller執行的結果ModelAndView返回給DispacherServlet

(8) DispacherServletModelAndView傳給視圖解析器ViewResolver

(9) ViewResolver解析後傳給具體的View

(10) DispacherSelver根據View進行視圖渲染

(11) DispacherServlet相應用戶

  1. SpringMVC的控制器是不是單例模式?如果是,有什麼問題?如何解決?

(1) 是單例模式及,所以在多線程訪問的時候有線程安全問題,不要使用同步,會影響性能,解決方案是在控制器中不能寫字段

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

(1) 是一個用來處理請求地址映射的註解,可用在類上或者方法上。用在類上,表示類中所有方法都以該地址作爲父路徑

  1. SpringMVCAJAX如何實現相互調用的?通過jackson框架就可以把java裏面的對象直接轉化爲js可以識別的JSON對象,具體步驟如下:

(1) 加入Jackson.jar

(2) 在配置文件中配置json的映射

(3) 在接受AJAX方法裏面可以直接返回Objectlist等,但是方法前面要加上@ResponseBody註解

  1. 談談SpringMVC的執行流程

(1) 系統在啓動的時候根據配置文件創建Spring的容器,首先是發送Http請求到核心控制器DispacherServlet,Spring容器通過映射器去尋找業務控制器,使用適配器找到相應的業務類,在進業務類時進行數據封裝,在封裝前可能涉及到類型轉換,執行完業務類使用ModelAndView進行視圖轉發,數據放在model中,用map傳遞數據進行頁面展示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章