小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

STRUTS2核心控制器:FilterDispatcher

 小花驢 2015-08-03

1.    struts1.x 系列中 , 所有的請求是通過一個(gè) servlet(ActionServlet) 來管理控制的 , Struts2.X 而是經(jīng)過一個(gè) Filter 來處理請求的。 Struts 2 將核心控制器設(shè)計(jì)成 Filter ,而不是一個(gè)普通 Servlet 。 因?yàn)樵O(shè)計(jì)者為了實(shí)現(xiàn)AOP(面向方面 編程)概念.

struts1.x 中

<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
。。。
< /servlet>

Struts2.X 中

<filter>
<filter-name>struts2</filter-name>

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern> </filter-mapping>

 

2. Struts 2框架由3個(gè)部分組成:核心控制器FilterDispatcher、業(yè)務(wù)控制器和用戶實(shí)現(xiàn)的業(yè)務(wù)邏輯組件。在這3個(gè)部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用戶需要實(shí)現(xiàn)業(yè)務(wù)控制器和業(yè)務(wù)邏輯組件。 

核心控制器:FilterDispatcher 
FilterDispatcher是Struts 2框架的核心控制器,該控制器作為一個(gè)Filter運(yùn)行在Web應(yīng)用中,它負(fù)責(zé)攔截所有的用戶請求,當(dāng) 用戶請求到達(dá)時(shí),該Filter會(huì)過濾用戶請求。如果用戶請求以action結(jié)尾,該請求將被轉(zhuǎn)入Struts 2框架處理。

Struts 2框架獲得了*.action請求后,將根據(jù)*.action請求的前面部分決定調(diào)用哪個(gè)業(yè)務(wù)邏輯組件,例如,對于login.action請求,Struts 2調(diào)用名為login的Action來處理該請求。 
Struts 2應(yīng)用中的Action都被定義在struts.xml文件中,在該文件中定義Action時(shí),定義了該Action的name屬性和 class屬性,其中name屬性決定了該Action處理哪個(gè)用戶請求,而class屬性決定了該Action的實(shí)現(xiàn)類。 
Struts 2用于處理用戶請求的Act ion實(shí)例,并不是用戶實(shí)現(xiàn)的業(yè)務(wù)控制器,而是Act ion代理 ——因?yàn)橛脩魧?shí)現(xiàn)的業(yè)務(wù)控制器并沒有與Servlet API耦合,顯然無法處理用戶請求。而Struts 2框架提供了系列攔截器,該系列攔截器負(fù)責(zé)將 HttpServletRequest請求中的請求參數(shù)解析出來,傳入到Action中,并回調(diào)Action的execute方法來處理用戶請求。 
顯然,上面的處理過程是典型的AOP(面向切面編程)處理方式。圖3.19顯示了這種處理模型。
Struts 2的攔截器和Action從圖 3.19中可以看出,用戶實(shí)現(xiàn)的Action類僅僅是Struts 2的Action代理的代理目標(biāo)。用戶實(shí)現(xiàn)的業(yè)務(wù)控制器(Action)則包含了對用 戶請求的處理。用戶的請求數(shù)據(jù)包含在HttpServletRequest對象里,而用戶的Action類無需訪問HttpServletRequest 對象。攔截器負(fù)責(zé)將HttpServletRequest里的請求數(shù)據(jù)解析出來,并傳給業(yè)務(wù)邏輯組件Action實(shí)例。 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多