Struts2處理請(qǐng)求是為每個(gè)請(qǐng)求都創(chuàng)建一個(gè)單獨(dú)的Action類,Action類當(dāng)中的Field屬性參數(shù)作為輸入和輸出參數(shù)用IOC來依賴注入的方式浑劳,是基于類的。
SpringMVC則采用輸入Request和Reponse作為參數(shù)妻率,返回ModelAndView的方式蔚晨,是單例的模式,且是基于方法的模式咖杂。
無論是在web系統(tǒng)的開發(fā)中庆寺,還是在網(wǎng)絡(luò)游戲的開發(fā)中,都會(huì)牽涉到request和response參數(shù)的處理問題诉字,如何將request和reponse參數(shù)對(duì)應(yīng)到我們的設(shè)計(jì)中懦尝,采用什么樣的方式,處理情況是各種各種的壤圃。
SpringMVC的幾大組件:
1)DispatcherServlet 根據(jù)請(qǐng)求的不同陵霉,將請(qǐng)求分發(fā)到不同的Controller處理器
2)Dispatcher 具體處理請(qǐng)求,返回邏輯視圖
3)Handler Mapping
3)ModelAndView 返回的邏輯視圖伍绳,注意踊挠,是邏輯視圖,并不是真正的視圖比如JSP頁面墨叛,而是通過通過視圖解析器ViewResolver解析邏輯視圖止毕,返回真正的要發(fā)送給前端的視圖
4)ViewResolver View 視圖解析類
struts2是通過filter實(shí)現(xiàn)的請(qǐng)求轉(zhuǎn)發(fā)(或者說請(qǐng)求的初步處理)和初始化操作
springmvc是通過servlet實(shí)現(xiàn)的請(qǐng)求轉(zhuǎn)發(fā)和初始化