springMVC的設計思想過程
springMVC:本質上就是控制層的一個開源框架,和struts2是一個層面的
包含的核心控制元件為:url對映器,介面卡,控制器,檢視解析器,
一.接管請求:Dispatcher負責接管請求.
DispatcherServlet(就是一個Servlet) 它繼承了FrameWorkServlet類,然而FrameWorkServlet又實現了Servlet介面,同時還實現了 spring的 ApplicationContextAware介面,因此DispatcherServlet擁有了設定上下文的能力。
DispatcherServlet類包含了HandlerExcutionChain屬性和HandlerAdapter屬性
1. HandlerExcuptionChain包含了HandlerInterceptor,主要作用是在執行具體的業務方法的前後執行注入的攔截器
2. HandlerAdapter是一個處理器的介面卡,或者說是處理器的選擇器
二..HandlerMapper對映器讀取mvc配置檔案後,根據獲取的rul請求,和bean裡面的name進行匹配,匹配到後返回handler物件和HandlerExcuptionChain
HandlerExcuptionChain將會執行它包含的所有的攔截器執行完後,Handler將會尋找一個相對應的HandlerAdapter介面卡去執行相應的處理方法。處理完後
返回一個ModelAndView(在此物件裡面可以存放要攜帶的資料),
三.Dispatcher獲得ModelAndView後會交給UrlBasedViewResolver檢視解析器,
此解析器將會解析ModelAndView,最終將解析好的介面返回DispatcherServlet,DispatcherServet將接貨返回給客戶端,
相關推薦
springMVC的設計思想過程
springMVC:本質上就是控制層的一個開源框架,和struts2是一個層面的 包含的核心控制元件為:url對映器,介面卡,控制器,檢視解析器, 一.接管請求:Dispatcher負責接管請求. DispatcherServlet(就是一個Servlet)
SpringMVC原理&MVC設計思想
什麼是MVC? MVC是一種架構模式 --- 程式分層,分工合作,既相互獨立,又協同工作 MVC是一種思考方式 --- 需要將什麼資訊展示給使用者? 如何佈局? 呼叫哪些業務邏
設計思想與模式之四靜態代理模式
test 創建 靜態代理 pan 代理 對象的訪問 override todo 父類 一 概述 1.什麽是代理模式? 為了隱藏與保護目標對象,為其他對象提供一個代理以控制對該目標對象的訪問。 2.什麽是靜態代理模式? 代理模式有兩種: 靜態代理:代理對象固定。 動態代理:
設計思想與模式之五觀察者模式
per -- 什麽 over out junit 測試類 rem second 一 概述 1.什麽是觀察者模式? 將一個對象視作被觀察者,當它發出某種行為或者發生某種變化時,通知所有依賴它的對象(觀察者),這種設計模式叫做觀察者設計模式。 2.觀察者設
FPGA設計思想(持續更新)
流水線 切割 下一個 logs 學習 altera uart lte 問題 一、 流水線設計 將原本一個時鐘周期完成的較大的組合邏輯通過合理的切割後分由多個時鐘周期完成。該部分邏輯運行的時鐘頻率會有明顯對的提升,提高系統的性能用面積換速度 一個流水線設計需要4個步驟
把握linux內核設計思想(十三):內存管理之進程地址空間
color 區域 left ons 文章 進程的地址空間 tmp ica interval 【版權聲明:尊重原創,轉載請保留出處:blog.csdn.net/shallnet。文章僅供學習交流,請勿用於商業用途】 進程地址空間由進程可尋址的虛擬內存組成
java之 ------ 設計思想
eth 刪除 出現 語言 net back sin dsm 相關信息 java的設計思想 (設計思想。是須要不斷領悟的。。。) 一、封裝 學java的人都知道這是向對象的編程語言,從字面上理解,就是針對對象的一些操作,將具有某一特性的實體封裝成一個類或者是將具有一
Python進階---面向對象的程序設計思想(一)
anim 它的 代碼冗余 tell 汽水 處理流程 關系 apach 精準 thon的面向對象 一、面向過程與面向對象的對比 面向過程的程序設計的核心是過程(流水線式思維),過程即解決問題的步驟,面向過程的設計就好比精心設計好一條流水線,考慮周全什麽時候處理什麽東西。 優點
設計思想之高內聚低耦合
判斷 表現 一個 span 改變 get 什麽是 軟件 高內聚低耦合 1.什麽是高內聚? 內聚針對的是模塊內部關系,指的是模塊各構成要素間的聯系,高內聚說明各構成要素間聯系緊密。 2.高內聚的優點 各構成要素間聯系緊密,說明各構成要素是實現模塊功能充分的存在,沒
基於 CSP 的設計思想和 OOP 設計思想的異同
處理 思想 soc 抽象 職責 請求 github 成了 協議 LinkerLin Go語言推崇的CSP編程模型和設計思想,並沒有引起很多Go開發者包括Go標準庫作者的重視。標準庫的很多設計保留了很濃的OOP的味道。本篇Blog想比較下從設計的角度看,CSP
jQuery設計思想
() 思想 基本 title world width 第一個元素 mat visible 前面的話 在深入了解jQuery的各個細節之前,需要對jQuery的設計思想有一個大致的了解。在遇到問題時, 知道應該使用jQuery的哪一個功能,然後迅速從手冊中找到具體的用法。
【設計思想】依賴註入
構造函數 magic clas 實例 reg 調整 emca sde sta 場景:傳統的思路是應用程序用到一個Foo類,就會創建Foo類並調用Foo類的方法,假如這個方法內需要一個Bar類,就會創建Bar類並調用Bar類的方法,而這個方法內需要一個Bim類,就會創建Bi
將課程作業01的設計思想、程序流程圖、源程序代碼和結果截圖整理成一篇博文
package static 技術分享 整理 public out 計算 mage 數字 1.程序設計思想 先讓用戶輸入要計算的數字的個數,然後讓用戶輸入這幾個數,將字符型轉化為整數,然後求和,最後輸出所求得的和即可。 2.程序流程圖 3.源程序代碼 pack
回溯算法 ------回溯算法的設計思想和適用條件
ron -128 不一定 節點 寬度 搜索 優先 基本思想 方法 在上一篇博客(http://www.cnblogs.com/lixing-nlp/p/7641460.html)中,介紹了三個關於回溯算法的例子 這一篇博客要寫 回溯算法的設計思想和適用條件。
將課程作業01、02、03的設計思想、源程序代碼和結果截圖整理成一篇博文。。
top exception 漢諾塔 一個數 resource valueof val 作業 回文數 信1605-3 於丁一 20163578 使用組合數公式利用n!來計算 設計思想:首先要判斷一個數的階乘如何表達,然後調用方法用組合數公式,最後求出組合數。 packag
《linux/unix設計思想》讀書筆記(回憶)
出現問題 組合 例如 讀書筆記 開發 性能 發生 ech window 1) 程序應該小而專一,程序應該盡量的小,且只專註於一件事上,不要開發那些看起來有用但是90%的情況都用不到的特性; 2) 程序不只要考慮性能, 程序的可移植性更重要,shell和perl,pyt
程序設計思想發展
差分 min -m 轉移 概念 dell red 高斯 pin 閱讀目錄 概述 詳細發展歷史 概述 1940年以前:面向機器 最早的程序設計都是采用機器語言來編寫的,直接使用二進制碼來表示機器能夠識別和執行的指令和數 據。簡單來說,就是直接
laravel 設計思想簡單總結
不同 模式 解決 clas 容器 markdown 配置 依賴關系 調用 服務容器 laravel框架中 服務容器是整個系統功能調度配置的核心,在系統運行過程中動態的為系統提供需要的服務 從而實現了解耦 控制反轉(IOC) 控制反轉是一種設計模式 主要解決了系統組件之間的相
透徹理解Spring事務設計思想之手寫實現
數據庫操作 cal 了解 hashmap 個數 這一 use action 管道 前言 事務,是描述一組操作的抽象,比如對數據庫的一組操作,要麽全部成功,要麽全部失敗。事務具有4個特性:Atomicity(原子性),Consistency(一致性),Isolation(隔離
面向對象設計思想(一)
結構化數據 寄存器 Language 事物 屏蔽 程序 提高 ram languages 編程語言的發展 1.機器語言——直接由計算機的指令組成,指令,數據,地址都以“0”和“1”的符合串組成;可以被計算機直接執行。2.匯編語言——用容易和記憶的的符號表示指令、數據以及寄存