乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      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會過濾用戶請求。如果用戶請求以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è)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(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ā)表

        請遵守用戶 評論公約

        類似文章 更多