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

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

    • 分享

      java servlet 監(jiān)聽(tīng)器種類(lèi)及介紹

       昵稱(chēng)27831725 2015-11-22

      ServletContextAttributeListener 監(jiān)聽(tīng)對(duì)ServletContext屬性的操作,比如增加、刪除、修改屬性。

      ServletContextListener監(jiān)聽(tīng)ServletContext。
      當(dāng)創(chuàng)建ServletContext時(shí),激發(fā) contextInitialized(ServletContextEvent sce)方法;
      當(dāng)銷(xiāo)毀ServletContext時(shí),激發(fā)contextDestroyed(ServletContextEvent sce)方法。

       

      ServletContextListener 接口 

      contextInitialized 初始化方法

      contextDestroyed 銷(xiāo)毀方法 



      ServletRequestListener, ServletRequestAttributeListener 接口

      Servlet 2.4版在事件監(jiān)聽(tīng)器中加入了ServletRequest監(jiān)聽(tīng)器,包括:ServletRequestListener, ServletRequestAttributeListener ,用來(lái)管理和控制與ServletRequest動(dòng)作有關(guān)的事件。

      對(duì)于ServletRequest事件,當(dāng)request初始化、銷(xiāo)毀或者request屬性的增加、刪除和替換時(shí),事件監(jiān)聽(tīng)類(lèi)得到通知。
      下表列出了 ServletRequest的事件類(lèi)型,對(duì)應(yīng)特定事件的監(jiān)聽(tīng)類(lèi)必須實(shí)現(xiàn)的接口和當(dāng)事件發(fā)生時(shí)調(diào)用的方法。
      事件類(lèi)型 接口 方法
      request初始化 javax.servlet.ServletRequestListener requestInitialized()
      request銷(xiāo)毀 javax.servlet.ServletRequestListener requestDestroyed()
      增加屬性 javax.servlet.ServletRequestAttributeListener attributeAdded()
      刪除屬性 javax.servlet.ServletRequestAttributeListener attributeRemoved()
      屬性被替換 javax.servlet.ServletRequestAttributeListener attributeReplaced()

       

      HttpSessionListener 接口

      Http會(huì)話(huà)(Seesion)與請(qǐng)求(Request)與ServletContext用法相當(dāng)。需指出,Request監(jiān)聽(tīng)器在Tomcat 4.1不能調(diào)試,故升級(jí)到Tomcat 5.0才可以,所以可以肯定RequestListener是符合Servlet2.4新規(guī)范的,需用tomcat5.0以上版本。

      利用HttpSessionListener接口可針對(duì)HTTP會(huì)話(huà)建立一個(gè)“監(jiān)聽(tīng)器類(lèi)”。只要Web應(yīng)用程序內(nèi)新增了一個(gè)HTTP會(huì)話(huà),Servlet 容器就會(huì)將該事件(HttpSessionEvent)轉(zhuǎn)交給適當(dāng)?shù)摹氨O(jiān)聽(tīng)器類(lèi)”進(jìn)行處理(必須事先配置web.xml)。

      下表是HttpSessionListener接口內(nèi)定義的兩個(gè)方法,只要是實(shí)現(xiàn)該接口的“監(jiān)聽(tīng)器類(lèi)”,就必須包含這兩種方法。

      方法名稱(chēng)

      調(diào)用時(shí)機(jī)

      sessionCreated(HttpSessionEvent se)

      在Web應(yīng)用程序內(nèi)建立一個(gè)新的HTTP會(huì)話(huà)時(shí), Servlet容器將會(huì)調(diào)用此方法

      sessionDestoryed(HttpSessionEvent se)

      在Web應(yīng)用程序內(nèi)移除某個(gè)HTTP會(huì)話(huà)時(shí),Servlet容器將會(huì)調(diào)用此 方法



        HttpSessionActivationListener 接口

      當(dāng)Web應(yīng)用程序的會(huì)話(huà)必須跨越其他服務(wù)器時(shí),實(shí)現(xiàn)HttpSessionActivationListener接口的“監(jiān)聽(tīng)器類(lèi)”將會(huì)收到會(huì)話(huà)轉(zhuǎn)移的事 件。
      下表是HttpSessionActivationListener接口內(nèi)定義的兩種方法。

      方法名稱(chēng)

      調(diào)用時(shí)機(jī)

      sessionWillPassivate(HttpSessionEvent se)

      當(dāng)HTTP會(huì)話(huà)必須轉(zhuǎn)移到其他服務(wù)器之前,Servlet容器將會(huì)調(diào)用此方法

      sessionDidActivate(HttpSessionEvent se)

      當(dāng)HTTP會(huì)話(huà)轉(zhuǎn)移到其他服務(wù)器以后,Servlet容器將會(huì)調(diào)用此方法

      舉例來(lái)說(shuō),會(huì)話(huà)S必須從服務(wù)器A轉(zhuǎn)移到服務(wù)器B,此時(shí)Servlet容器會(huì)在S轉(zhuǎn)移前產(chǎn)生一個(gè)會(huì)話(huà)“被動(dòng)(passive)”事件,該事件由 HttpSessionActivationListener接口的sessionWillPassivate()方法予以回應(yīng)。當(dāng)S轉(zhuǎn)移到服務(wù)器B以 后,Servlet容器會(huì)再產(chǎn)生一個(gè)會(huì)話(huà)“啟動(dòng)”(activate)事件,該事件由HttpSessionActivationListener接口的 sessionDidActivate()方法予以回應(yīng)。


      HttpSessionAttributeListener 接口

      HttpSessionAttributeListener接口與ServletContextAttributeListener非常類(lèi)似,前者是針對(duì) HTTP會(huì)話(huà)所設(shè)計(jì)的“監(jiān)聽(tīng)器接口”,后者則是針對(duì)Servlet運(yùn)行環(huán)境(context)所設(shè)計(jì)的“監(jiān)聽(tīng)器接口”,該接口定義的方法見(jiàn)下表。

      方法名稱(chēng)

      調(diào)用時(shí)機(jī)

      attributeAdded(HttpSessionBindingEvent scab)

      在HttpSession對(duì)象內(nèi)加入新的屬性時(shí)會(huì)調(diào)用此方法

      attributeRemoved(ServletContextAttributeEvent scab)

      在HttpSession對(duì)象內(nèi)刪除某個(gè)屬性時(shí)會(huì)調(diào)用此方法

      attributeReplaced(ServletContextAttributeEvent scab)

      在HttpSession對(duì)象內(nèi)置換某個(gè)屬性時(shí)會(huì)調(diào)用此方法

      當(dāng)HTTP會(huì)話(huà)(HttpSession對(duì)象)內(nèi)新增、置換或刪除某個(gè)屬性時(shí)將會(huì)產(chǎn)生一個(gè)事件(HttpSessionBindingEvent),只要 是實(shí)現(xiàn)HttpSessionAttributeListener接口的“監(jiān)聽(tīng)器類(lèi)”就可以回應(yīng)該事件。當(dāng)然了,你必須將這個(gè)“監(jiān)聽(tīng)器類(lèi)”定義在 web.xml文件內(nèi)。


      HttpSessionBindingListener 接口

      HttpSessionBindingListener接口在觀念上與HttpSessionAttributeListener接口有點(diǎn)類(lèi)似,但是它與 本章探討的“監(jiān)聽(tīng)器類(lèi)”并沒(méi)有直接關(guān)系。
      因?yàn)镾ervlet 2.3規(guī)范以前尚未制定Web應(yīng)用程序的“監(jiān)聽(tīng)器”機(jī)制,如果想知道HTTP會(huì)話(huà)內(nèi)何時(shí)加入或移除某個(gè)對(duì)象,必須采用下列方式:

      (1)準(zhǔn)備綁定至HTTP會(huì)話(huà)的對(duì)象必須實(shí)現(xiàn) HttpSessionBindingListener接口- - 監(jiān)聽(tīng)器對(duì)象。

      (2)在該對(duì)象內(nèi)改寫(xiě)HttpSessionBindingListener接口 所定義的兩種方法(參考下表)。

      方法名稱(chēng)

      調(diào)用時(shí) 機(jī)

      valueBound(HttpSessionBindingEvent event)

      當(dāng)監(jiān)聽(tīng)器對(duì)象綁定至HTTP會(huì)話(huà)時(shí),Servlet容器將會(huì)調(diào)用此方法

      valueUnbound(HttpSessionBindingEvent event)

      當(dāng)監(jiān)聽(tīng)器對(duì)象從HTTP會(huì)話(huà)內(nèi)修改、移除或會(huì)話(huà)銷(xiāo)毀時(shí),Servlet容器將會(huì)調(diào)用此方法


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

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多