struts框架原理?究竟是如何實(shí)現(xiàn)的

Struts框架的工作原理? 如果該請(qǐng)求是一個(gè)以 .action 結(jié)尾請(qǐng)求,則Struts2將請(qǐng)求轉(zhuǎn)發(fā)至相應(yīng)的Action,進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,如果數(shù)據(jù)類型轉(zhuǎn)換出錯(cuò),則返...
Struts框架的工作原理?
如果該請(qǐng)求是一個(gè)以 .action 結(jié)尾請(qǐng)求,則Struts2將請(qǐng)求轉(zhuǎn)發(fā)至相應(yīng)的Action,進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,如果數(shù)據(jù)類型轉(zhuǎn)換出錯(cuò),則返回到 input 指定的結(jié)果頁(yè)面。如果數(shù)據(jù)類型轉(zhuǎn)換沒有出錯(cuò),則調(diào)用tXX 方法進(jìn)行設(shè)值,如果使用了validate()驗(yàn)證方法(或者是使用了驗(yàn)證框架),則進(jìn)行相應(yīng)的驗(yàn)證。
用一個(gè)rvlet攔截用戶的請(qǐng)求,并分發(fā)到具體的action中去處理,再將返回的respon進(jìn)行封裝,這是處理頁(yè)面流程的機(jī)制,另外還有一些標(biāo)簽,非常容易在頁(yè)面進(jìn)行顯示,這是我自己理解的。說(shuō)的不對(duì)的,請(qǐng)大家提出來(lái)。
Struts2的工作原理主要包括以下步驟:請(qǐng)求發(fā)起:客戶端向Servlet容器發(fā)起請(qǐng)求。過(guò)濾器鏈:請(qǐng)求依次經(jīng)過(guò)一過(guò)濾器,其中包括ActionContextCleanUp等可選過(guò)濾器,這些過(guò)濾器有助于Struts2與其他框架集成。FilterDispatcher調(diào)用:FilterDispatcher被調(diào)用,它詢問(wèn)ActionMapper以確定是否需要調(diào)用某個(gè)特定的Action。
核心控制器:FilterDispatcher FilterDispatcher是Struts 2框架的核心控制器,該控制器作為一個(gè)Filter運(yùn)行在Web應(yīng)用中,它負(fù)責(zé)攔截所有的用戶請(qǐng)求,當(dāng)用戶請(qǐng)求到達(dá)時(shí),該Filter會(huì)過(guò)濾用戶請(qǐng)求。如果用戶請(qǐng)求以action結(jié)尾,該請(qǐng)求將被轉(zhuǎn)入Struts 2框架處理。
本文鏈接:http:///bian/878608.html