springmvc的原理架构,Struts2运行原理,springmvc和Struts2的区别
springmvc原理:
1、用戶(hù)發(fā)起請(qǐng)求到控制器 DispatcherServlet(前端控制器)
2、前端控制器去handlerMapper查找Handler對(duì)象
3、HandlerMapper返回HandlerExecutorChain 執(zhí)行鏈(包含兩部分內(nèi)容:Handler ,攔截器集合)
4、前端控制器,通過(guò)HandlerAdapter 適配器執(zhí)行 Handler對(duì)象
5、Handler處理具體的業(yè)務(wù)邏輯
6、Handler處理完業(yè)務(wù)邏輯之后,返回ModelAndView 其中的View是視圖名稱(chēng)
7、將ModelAndView返回前端控制器
8、前端控制器,通過(guò)ModelAndView 中的視圖名稱(chēng)。在視圖解析器中查找視圖
9、返回真正的View 視圖對(duì)象
10、渲染視圖
11、返回用戶(hù)響應(yīng)
Struts2原理:
兩者之間的區(qū)別:
1、SpringMVC的入口是Servlet,Struts2的入口是Filter,兩者的實(shí)現(xiàn)機(jī)制不同,SpringMVC的可信是Servlet,Struts2的核心是Filter。
2、SpringMVC基于方法設(shè)計(jì),傳遞參數(shù)時(shí)通過(guò)方法形參,其實(shí)現(xiàn)的單例模式(也可以改為多例,推薦用單例),Struts2基于類(lèi)設(shè)計(jì),傳遞參數(shù)時(shí)通過(guò)類(lèi)的屬性,只能是多例實(shí)現(xiàn),性能上SpringMVC更高一些。
3、參數(shù)傳遞方面,Struts2是用類(lèi)的屬性接收的,也就是在多個(gè)方法間共享,而SpringMVC基于方法,多個(gè)方法間不能共享。
總結(jié)
以上是生活随笔為你收集整理的springmvc的原理架构,Struts2运行原理,springmvc和Struts2的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mybatis的高级查询(包含一对一,一
- 下一篇: 既然有 GC 机制,为什么还会有内存泄露