導航:首頁 > 編程語言 > java中監聽器

java中監聽器

發布時間:2024-03-15 18:44:03

① 什麼是java偵聽器

1、監聽器也叫Listener,是Servlet的監聽器,它可以監聽客戶端的請求、服務端的操作等。通過監聽器,可以自動激發一些操作,比如監聽在線的用戶的數量。當增加一個HttpSession時,就激發sessionCreated(HttpSessionEvent se)方法,這樣
就可以給在線人數加1。
2、常用的監聽介面有以下幾個:
1)監聽對ServletContext屬性的操作,比如增加、刪除、修改屬性。
2)、ServletContextListener監聽ServletContext。當創建ServletContext時,激發contextInitialized(ServletContextEvent sce)方法;當銷毀ServletContext時,激發contextDestroyed(ServletContextEvent sce)方法。
HttpSessionListener監聽HttpSession的操作。當創建一個Session時,激發session Created(HttpSessionEvent se)方法;當銷毀一個Session時,激發sessionDestroyed (HttpSessionEvent se)方法。
4)HttpSessionAttributeListener監聽HttpSession中的屬性的操作。當在Session增加一個屬性時,激發attributeAdded(HttpSessionBindingEvent se) 方法;當在Session刪除一個屬性時,激發attributeRemoved(HttpSessionBindingEvent se)方法;當在Session屬性被重新設置時,激發attributeReplaced(HttpSessionBindingEvent se) 方法。
3、參考樣例example:隨伺服器啟動
<web-app>
<listener>
<listener-class>com.tb.listener.CountStartListener</listener-class>
</listener>

package com.tb.listener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServlet;
import com.tb.timertask.DoCountTask;
public class CountStartListener extends HttpServlet implements ServletContextListener
{
private static final long serialVersionUID = 1824920962239905170L;
public CountStartListener()
{
// TODO Auto-generated constructor stub
}
public void contextDestroyed(ServletContextEvent arg0)
{
// TODO Auto-generated method stub
}
public void contextInitialized(ServletContextEvent arg0)
{
DoCountTask.dotask();

② javaEE中的監聽器有什麼作用

一、概念
監聽器就是一個實現特定介面的普通java程序,這個程序專門用於監聽另一個java對象的方法調用或屬性改變,當被監聽對象發生上述事件後,監聽器某個方法將立即被執行。
二、Servle監聽器
1、編寫 Servlet 監聽器
(1)和編寫其它事件監聽器一樣,編寫servlet監聽器也需要實現一個特定的介面,並針對相應動作覆蓋介面中的相應方法。
(2)和其它事件監聽器略有不同的是,servlet監聽器的注冊不是直接注冊在事件源上,而是由WEB容器負責注冊,開發人員只需在web.xml文件中使用<listener>標簽配置好監聽器,web容器就會自動把監聽器注冊到事件源中。
(3)一個 web.xml 文件中可以配置多個 Servlet 事件監聽器,web 伺服器按照它們在web.xml 文件中的注冊順序來載入和注冊這些 Serlvet 事件監聽器。
配置如下:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

三、就是gui里邊控制項的監聽器了。具體是什麼就要自己看看相關書籍或者源碼了!

③ java監聽器原理



  1. 一個事件源可能會生成不同類型的事件,事件源提供了一組方法,用於為事件注冊一個或多個監聽器。

  2. 每種事件的類型都有其自己的注冊方法。一般形式為:publicvoidadd<EventType>Listener(TypeListenere)

  3. AWT採取的事件控制過程:監聽器對象屬於一個類的實例,這個類實現了一個特殊的介面,名為「監聽者介面」

  4. 事件源是一個對象,它可以注冊一個或多個監聽器對象,並向其發送事件對象。

  5. 事件源將在發生事件時向所有注冊的監聽器發送事件對象。

  6. 監聽器對象使用事件對象中的信息來確定它們對事件的響應


  1. 基於代理(授權)事件模型,事件處理是一個事件源授權到一個或者多個事件監聽器。其基本原理是:組件激發事件,事件監聽器監聽和處理事件,可以調用組件的add<EventType>Listener方法向組件注冊監聽器。把其加入到組件以後,如果組件激發了相應類型的事件,那麼定義在監聽器中的事件處理方法會被調用。


  1. 事件源由它來激發產生事件

  2. 是產生或拋出事件的對象。

  3. 事件監聽器由它來處理事件

  4. 實現某個特定EventListener介面,此介面定義了一種或多種方法,事件源調用它們以響應該介面所處理的每一種特定事件類型。

  5. 事件具體的事件類型

  6. 事件類型封裝在以java.util.EventObject為根的類層次中。當事件發生時,事件記錄發生的一切事件,並從事件源傳播到監聽器對象

閱讀全文

與java中監聽器相關的資料

熱點內容
葉子java版命令方塊 瀏覽:837
阿里伺服器有什麼作用 瀏覽:749
java程序開發範例 瀏覽:888
java17formac下載 瀏覽:614
rrc是什麼單片機 瀏覽:530
linux默認網關設置 瀏覽:679
java函數return 瀏覽:25
鄭州app積分商城哪裡好 瀏覽:610
7za命令解壓zip 瀏覽:906
硬碟加密無法進入系統 瀏覽:560
四葉花演算法 瀏覽:741
寶寶濾鏡app哪裡下載 瀏覽:1002
java保護代碼 瀏覽:806
游戲海外伺服器什麼意思 瀏覽:568
快手網紅程序員排名 瀏覽:99
首先會通過什麼尋找伺服器的ip地址 瀏覽:199
網頁代碼加密解碼 瀏覽:285
wyks1ms文件夾 瀏覽:93
什麼app可以看柯南高清 瀏覽:425
加密的盤文件恢復 瀏覽:22