日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC架构---SpringMVC学习笔记(一)

發(fā)布時(shí)間:2023/12/20 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC架构---SpringMVC学习笔记(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是SpringMVC?

springmvc是spring框架的一個(gè)模塊,springmvc和spring無需通過中間整合層進(jìn)行整合。(struts2與Spring整合的時(shí)候需要借助單獨(dú)的jar包)
springmvc是一個(gè)基于mvc的web框架。

MVC在B/S系統(tǒng)下的應(yīng)用

  • 用戶發(fā)起request請(qǐng)求至控制器(Controller)
    控制接收用戶請(qǐng)求的數(shù)據(jù),委托給模型進(jìn)行處理
  • 控制器通過模型(Model)處理數(shù)據(jù)并得到處理結(jié)果
    模型通常是指業(yè)務(wù)邏輯
  • 模型處理結(jié)果返回給控制器
  • 控制器將模型數(shù)據(jù)在視圖(View)中展示
    web中模型無法將數(shù)據(jù)直接在視圖上顯示,需要通過控制器完成。如果在C/S應(yīng)用中模型是可以將數(shù)據(jù)在視圖中展示的。
  • 控制器將視圖response響應(yīng)給用戶
    通過視圖展示給用戶要的數(shù)據(jù)或處理結(jié)果。
  • SpringMVC架構(gòu)

    架構(gòu)圖1:

    架構(gòu)圖2:

    架構(gòu)主要流程解釋:

    Spring MVC中前端的控制器就是DispatcherServlet這個(gè)Servlet來掌管著用戶的請(qǐng)求及最后的系統(tǒng)回應(yīng)。這個(gè)DispatcherServlet同具體的業(yè)務(wù)邏輯一點(diǎn)都不著邊,而是把所有的事情委派給控制器去做(Controller),當(dāng)然DispatcherServlet是知道該把當(dāng)前的事情交個(gè)那個(gè)控制器去做;然后當(dāng)控制器把事情都做完了后,這個(gè)時(shí)候輪到視圖(View)上場了,簡單的理解好比我們做PPT,那么這里的視圖好比PPT里面的模板,它可以把數(shù)據(jù)以不同的展現(xiàn)形式交給客戶,可以是jsp、xml、json等等。

    架構(gòu)具體運(yùn)作流程:

    第一步:發(fā)起請(qǐng)求到前端控制器(DispatcherServlet)
    第二步:前端控制器請(qǐng)求HandlerMapping查找 Handler
    可以根據(jù)xml配置、注解進(jìn)行查找
    第三步:處理器映射器HandlerMapping向前端控制器返回Handler
    第四步:前端控制器調(diào)用處理器適配器去執(zhí)行Handler
    第五步:處理器適配器去執(zhí)行Handler
    第六步:Handler執(zhí)行完成給適配器返回ModelAndView
    第七步:處理器適配器向前端控制器返回ModelAndView
    ModelAndView是springmvc框架的一個(gè)底層對(duì)象,包括 Model和view
    第八步:前端控制器請(qǐng)求視圖解析器去進(jìn)行視圖解析
    根據(jù)邏輯視圖名解析成真正的視圖(jsp)
    第九步:視圖解析器向前端控制器返回View
    第十步:前端控制器進(jìn)行視圖渲染
    視圖渲染將模型數(shù)據(jù)(在ModelAndView對(duì)象中)填充到request域
    第十一步:前端控制器向用戶響應(yīng)結(jié)果

    組件說明:

  • 前端控制器DispatcherServlet(不需要程序員開發(fā))
    作用接收請(qǐng)求,響應(yīng)結(jié)果,相當(dāng)于轉(zhuǎn)發(fā)器,中央處理器。
    有了DispatcherServlet減少了其它組件之間的耦合度。
  • 處理器映射器HandlerMapping(不需要程序員開發(fā))
    作用:根據(jù)請(qǐng)求的url查找Handler
  • 處理器適配器HandlerAdapter
    作用:按照特定規(guī)則(HandlerAdapter要求的規(guī)則)去執(zhí)行Handler
  • 處理器Handler(需要程序員開發(fā))
    注意:編寫Handler時(shí)按照HandlerAdapter的要求去做,這樣適配器才可以去正確執(zhí)行Handler
  • 視圖解析器View resolver(不需要程序員開發(fā))
    作用:進(jìn)行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖(view)
  • 視圖View(需要程序員開發(fā)jsp)
    View是一個(gè)接口,實(shí)現(xiàn)類支持不同的View類型(jsp、freemarker、pdf…)
  • 總結(jié)

    以上是生活随笔為你收集整理的SpringMVC架构---SpringMVC学习笔记(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。