-
web應用上下文
WebApplicationContext(s)圖中小的可能有多個的 是 通過 contextLoaderListener 加載的上下文。
與特定dispatcherServlet相關聯(lián)的上下文,i.e 與 mvc dispatcher 相關的controller, viewResolver, handlerMapping, etc.
可能會有多個DispatcherServlet, 通過使用不同的 dispatcherServlet 來做不同的分發(fā),可以更好地服務不同類型的請求。
查看全部 -
jetty 插件為我們提供了一個運行的容器環(huán)境。
查看全部 -
POM project object model 是一個 xml file (pom.xml)
Dependency 項目依賴。
maven 簡單地講是依賴坐標 coordinates 來解決依賴關系。
通過 groupId, artifactId, version, packaging 這四個屬性構成 maven 坐標(coordinate), 這四個屬性是可以 唯一標識 一個產品。這四個屬性構成的coordinates 就是maven倉庫中的 GPS 定位系統(tǒng)。(其中, packaging 屬性可 缺省,缺省是 jar)
查看全部 -
Maven 是一個 構建 與 依賴管理 的工具。
POM (project object model)
Dependency Management
Coordinates
Maven可以解決 直接依賴 和 傳遞依賴關系
查看全部 -
重點 要去 關注 Controller, 可能需要 寫 HandlerInterceptor, ModleAndView, 其它的都可通過配置
DispatcherServlet重要但不需要用戶來編碼,只需要配置下即可;類似 HandlerMapping 也是只需要知道怎么配置到配置文件即可;
Controller 肯定要開發(fā)編碼的,MVC可不知道你想要實現(xiàn)什么業(yè)務邏輯;
HandlerInterceptor 是個接口,需要就去實現(xiàn),否則不用管它。不是所有場景需要在controller調用之前之后干點什么。
Handler/HandlerAdapter 也不需要編碼;
ModelAndView 實現(xiàn)不難,甚至可以使用 map 來實現(xiàn)功能;
ViewResolver / view 也是不需要后端開發(fā)去具體編碼實現(xiàn)。配置即可。
查看全部 -
request -> dispatcherServlet -> handlerMapping -> controller/handlerInterceptor (Handler/HandlerAdapter)
modelAndView -> Dispatcher -> viewResolver?
dispatcherServlet -> view
dispatcherServlet -> response
查看全部 -
DispatherServlet
Controller
HandlerAdapter
HandlerInterceptor
HandlerMapping
HandlerExecutionChain
ModelAndView
ViewResolver
View
查看全部 -
HandlerExecutionChain
preHandle -> Controller method -> postHandle -> afterCompletion
查看全部 -
HandlerMapping
help dispatcherServlet to get the right controller
wrap controller with HandlerInterceptor
查看全部 -
MVC是一種架構模式
MVC是一種思考方式
查看全部 -
Model - View - Controller
View 視圖層,為用戶提供 UI, 重點關注數(shù)據(jù)的呈現(xiàn)
Model 模型層,業(yè)務數(shù)據(jù)的信息表示,關注支撐業(yè)務的信息構成,通常是多個業(yè)務實體的組合。
Controller 控制層,調用業(yè)務邏輯產生合適的數(shù)據(jù)(Model),同時將數(shù)據(jù)傳遞給視圖層用于數(shù)據(jù)呈現(xiàn)。
查看全部 -
MVC的核心思想是 業(yè)務數(shù)據(jù)抽取 同 業(yè)務數(shù)據(jù)呈現(xiàn) 相分離。
相分離就是簡化,把復雜的東西拆解分離,這樣可以更加簡潔的表述被分離的場景,更易于編程的實現(xiàn)。
查看全部 -
分發(fā)調度 -- front controller? C
業(yè)務數(shù)據(jù)制取 -- controller? M
頁面呈現(xiàn) -- view template? V
查看全部 -
為什么叫 前端控制器?
類似 Hospital 的分診臺
查看全部 -
為什么 叫 前端控制器?
醫(yī)院的 分診臺(前臺)
查看全部 -
用戶端的請求通過http協(xié)議到達前端控制器
前端控制器了解這個請求應當被誰來處理,所以將這個請求代理 給了 控制器
控制器 了解業(yè)務邏輯的細節(jié) ,調用業(yè)務邏輯生成業(yè)務數(shù)據(jù),并將業(yè)務數(shù)據(jù) 返回 給 前端控制器
?前端控制器 再將 業(yè)務數(shù)據(jù) 分發(fā)給 業(yè)務視圖,由業(yè)務視圖來呈現(xiàn)最終的用戶頁面,再將呈現(xiàn)好的頁面返還給 前端控制器,
前端控制器 將頁面 最終返回給 瀏覽器,此時電腦前的用戶就可以看到請求的頁面
查看全部
舉報