第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

簡述struts的工作流程?

簡述struts的工作流程?

慕蓋茨4494581 2018-10-17 15:11:09
簡述struts的工作流程?
查看完整描述

1 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

大概邏輯如下(有些的可能不太全面,可以多看看書.):
struts1:
發(fā)布Struts Web服務(wù)時(shí),根據(jù)web.xml初始化ActionServlet,ActionContext等內(nèi)容.
在接到一個(gè)HttpRequest請(qǐng)求后,ActionServlet 根據(jù)struts-config.xml中的配置內(nèi)容,將請(qǐng)求的參數(shù)傳到對(duì)應(yīng)的Formbean中,并設(shè)置session.然后根據(jù)請(qǐng)求中的Action參數(shù),在struts-config.xml中查找指定的Action,并調(diào)用此Action來處理請(qǐng)求.根據(jù)Action的處理結(jié)果,會(huì)返回一個(gè)forward變量,此時(shí)通過mapping.findForward()查找出對(duì)應(yīng)的forward所標(biāo)示的Action或者JSP頁面,將請(qǐng)求轉(zhuǎn)到下一個(gè)處理.如果是forward指向JSP頁面,則輸出到前臺(tái).

Struts2:
(1)客戶端提交一個(gè)HttpServletRequest請(qǐng)求(.action或JSP頁面)
(2)請(qǐng)求被提交到一系列Filter過濾器,如ActionCleanUp和FilterDispatcher等
(3)FilterDispatcher是Struts2控制器的核心,它通常是過濾器鏈中的最后一個(gè)過濾器
(4)請(qǐng)求發(fā)到FilterDispatcher后,FilterDispatcher詢問ActionMapper是否需要調(diào)用某個(gè)Action來處理這個(gè)Request(一般根據(jù)URL后綴是否為.action來判斷)
(5)如果ActionMapper決定需要調(diào)用某個(gè)Action,FilterDispatcher則把請(qǐng)求交到ActioProxy,由其進(jìn)行處理.
(6)ActionProxy通過Configuration Manager(它會(huì)訪問struts.xml)詢問框架的配置文件,找到需要調(diào)用的Action類.
(7)ActionProxy創(chuàng)建一個(gè)ActionInvocation實(shí)例,而ActionInvocation通過代理模式調(diào)用Action,(在調(diào)用之前會(huì)根據(jù)配置文件加載相關(guān)的所有Interceptor攔截器)
(8)Action執(zhí)行完畢后,返回一個(gè)result字符串,此時(shí)再按相反的順序通過Interceptor攔截器.
(9) 最后ActionInvocation負(fù)責(zé)根據(jù)struts.xml中配置的result元素,找到與返回值對(duì)應(yīng)的result,決定進(jìn)行下一步輸出.



查看完整回答
反對(duì) 回復(fù) 2018-11-14
  • 1 回答
  • 0 關(guān)注
  • 617 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)