java web之監聽器介紹

  java web中的三大組件分別是servlet listener filter。而其中的listener便就是java web中的監聽器。java

      首先介紹一下監聽器就是一個接口,接口的內容由咱們本身實現,並且他須要註冊,其次監聽器的內容會在特殊事件發生時被調用。web

      java web中一共有八大監聽器,首先即是事件源(產生事件的源頭)爲三大域的六個監聽器,分別是ServletContext的生命週期監聽和屬性監聽以及HttpSession的生命週期監聽和屬性監聽,還有ServletRequest的生命週期監聽和屬性監聽.服務器

 <1>  ServletContext:session

              生命週期監聽(ServletContextListener):它有兩個方法,一個在servlet建立時被調用,一個在銷燬時調用。ide

               屬性監聽(ServletContextAttributeListener):它有三個方法,一個在添加屬性時調用,一個在修改屬性時調用,                                                                                   還有一個在移除屬性時調用。spa

  <2>HttpSession:xml

               生命週期監聽(HttpSessionListener)和屬性監聽(HttpSessionAttributeListener);用法同上。接口

 <3>ServletRequest:生命週期

                生命週期監聽(ServletRequestListener)和屬性監聽(ServletRequestAttributeListener);用法同上。事件


    在編寫這六個監聽器時,必須得實現某個對應的監聽器接口,並且要在web.xml中完成註冊;註冊內容爲:

    <listener>

      <listener-class>中間即爲監聽器的路徑</listener-class>

     </listener>

   另外兩個監聽器即爲感知監聽:用來添加到javabean上。而不是添加到三大域中,與HttpSession有關,而且無需在web.xml中進行註冊。

  <1> HttpSessionBindingListener:添加到javabean上,javabean就知道本身是否添加到session中

   <2>HttpSessionActivationListener:監聽javabean是否隨着session鈍化和活化。

    -------------------------------------------------------------------------------------------------------------------------------


         爲了幫助理解,首先得知道session的鈍化和活化:

         即爲當太多的session沒有被使用的時候,服務器會把這些session放到硬盤中,釋放內存,服務器正常運行,若是用戶要使用session,則服務器會把session從硬盤中在放到內存中,以便於用戶使用,便就是session的鈍化和活化。

相關文章
相關標籤/搜索