日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

MVC是英文Modle View Controller的簡稱,是一種軟件設(shè)計(jì)典范,目的是將業(yè)務(wù)邏輯、數(shù)據(jù)、頁面視圖代碼分離,達(dá)到增加開發(fā)效率、降低耦合度、代碼更利于維護(hù)的目的。

Java開源框架之SpringMVC原理及源碼解析

 

Spring MVC是一個(gè)流行的MVC框架,我們知道Spring核心是解決業(yè)務(wù)邏輯層和其他各層的松耦合問題,Spring MVC由Spring基礎(chǔ)框架支撐,讓開發(fā)JAVA Web 程序變得更簡單。

Java開源框架之SpringMVC原理及源碼解析

 

Spring MVC 框架原理:

1.用戶HTTP請求 ——> DispatcherServlet(調(diào)度器根據(jù)請求進(jìn)行調(diào)度)

2.DispatcherServlet ——> HandlerMApping(找到對應(yīng)的處理器)

3.HandlerMapping ——> Controller(調(diào)用對應(yīng)的處理器)

4.Controller ——>業(yè)務(wù)層(調(diào)用業(yè)務(wù)層完成相應(yīng)的業(yè)務(wù))

5.業(yè)務(wù)層 ——> ModelAndView(處理結(jié)果數(shù)據(jù))

6.ModelAndView ——>DispatcherServlet ——>ViewResolver(視圖解析器做處理)

7.ViewResolver ——> View(模型數(shù)據(jù)顯示) ——>用戶

Spring MVC 實(shí)現(xiàn)源碼解析

ContextLoaderListener類:

簡述:ContextLoaderListener類是一個(gè)監(jiān)聽類,在Tomcat啟動后創(chuàng)建一個(gè)IOC容器,并將創(chuàng)建的IOC容器存到servletContext中。

web.xml中的配置:

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

springMVC父容器初始化流程圖:

Java開源框架之SpringMVC原理及源碼解析

 

DispatcherServlet類:

簡述:DispatcherServlet是SpringMVC的入口,DispatcherServlet類主要用作職責(zé)調(diào)度工作,本身主要用于控制流程。

代碼實(shí)現(xiàn)的業(yè)務(wù)邏輯:

DispatcherServlet類本身也是一個(gè)Servlet,以下是該類的關(guān)系圖:

Java開源框架之SpringMVC原理及源碼解析

 

DispatcherServlet調(diào)度器架構(gòu)原理:

Java開源框架之SpringMVC原理及源碼解析

 

HandlerMapping接口:

簡述:根據(jù)調(diào)度器的請求找到一個(gè)處理器handler,其實(shí)現(xiàn)機(jī)制簡單來說就是維持了一個(gè)url到Controller關(guān)系的Map結(jié)構(gòu)。

實(shí)現(xiàn)機(jī)制:

HandlerMapping的實(shí)現(xiàn)機(jī)制就是根據(jù)request來獲得HandlerExecutionChain,其實(shí)就是獲取真正要執(zhí)行的Controller或者某個(gè)具體的方法。HandlerMapping接口提供唯一的方法getHandler(HttpServletRequest request)。

ViewResolver接口:

簡述:ViewResolver的主要作用是把一個(gè)邏輯上的視圖名稱解析為一個(gè)真正的視圖。

InternalResourceViewResolver類是ViewResolver的實(shí)現(xiàn)類,在xml中配置如下:

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
     id="internalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
   </bean>

View接口:

簡述:View接口的職責(zé)就是接收model對象、Request對象、Response對象,并渲染輸出結(jié)果給Response對象。

分享到:
標(biāo)簽:SpringMVC
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定