成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Servlet中的八大Listener

開發 后端
JSP/Servlet 中的事件處理寫過AWT或Swing程序的人一定對桌面程序的事件處理機制印象深刻:通過實現Listener接口的類可以在特定事件(Event)發生時,呼叫特定的方法來對事件進行響應。

/Servlet 中的事件處理寫過AWT或Swing程序的人一定對桌面程序的事件處理機制印象深刻:通過實現Listener接口的類可以在特定事件(Event)發生時,呼叫特定的方法來對事件進行響應。

其實我們在編寫JSP/Servle程序時,也有類似的事件處理機制,所不同的是在JSP/Servlet中是在web.xml中注冊Listener,由Container在特定事件發生時呼叫特定的實現Listener的類。

1. Servlet中的Listener和Event:

在JSP 2.0/Servlet 2.4中,共有八個Listener接口,六個Event類別。

l ServletContextListener

[接口方法] contextInitialized()與 contextDestroyed()

[接收事件] ServletContextEvent

[觸發場景] 在Container加載Web應用程序時(例如啟動 Container之后),會呼叫contextInitialized(),而當容器移除Web應用程序時,會呼叫contextDestroyed ()方法。

l ServletContextAttributeListener

[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()

[接收事件] ServletContextAttributeEvent

[觸發場景] 若有對象加入為application(ServletContext)對象的屬性,則會呼叫attributeAdded(),同理在置換屬性與移除屬性時,會分別呼叫attributeReplaced()、attributeRemoved()。

l HttpSessionListener

[接口方法] sessionCreated()與sessionDestroyed ()

[接收事件] HttpSessionEvent

[觸發場景] 在session(HttpSession)對象建立或被消滅時,會分別呼叫這兩個方法。

l HttpSessionAttributeListener

[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()

[接收事件] HttpSessionBindingEvent

[觸發場景] 若有對象加入為session(HttpSession)對象的屬性,則會呼叫attributeAdded(),同理在置換屬性與移除屬性時,會分別呼叫attributeReplaced()、 attributeRemoved()。

l ServletRequestListener

[接口方法] requestInitialized()與 requestDestroyed()

[接收事件] RequestEvent

[觸發場景] 在request(HttpServletRequest)對象建立或被消滅時,會分別呼叫這兩個方法。

l ServletRequestAttributeListener

[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()

[接收事件] HttpSessionBindingEvent

[觸發場景] 若有對象加入為request(HttpServletRequest)對象的屬性,則會呼叫attributeAdded(),同理在置換屬性與移除屬性時,會分別呼叫attributeReplaced()、 attributeRemoved()。

l HttpSessionBindingListener

[接口方法] valueBound()與valueUnbound()

[接收事件] HttpSessionBindingEvent

[觸發場景] 實現HttpSessionBindingListener接口的類別,其實例如果被加入至session(HttpSession)對象的屬性中,則會呼叫 valueBound(),如果被從session(HttpSession)對象的屬性中移除,則會呼叫valueUnbound(),實現HttpSessionBindingListener接口的類別不需在web.xml中設定。

l HttpSessionActivationListener

[接口方法] sessionDidActivate()與 sessionWillPassivate()

[接收事件] HttpSessionEvent

[觸發場景] Activate與Passivate是用于置換對象的動作,當session對象為了資源利用或負載平衡等原因而必須暫時儲存至硬盤或其它儲存器時(透過對象序列化),所作的動作稱之為Passivate,而硬盤或儲存器上的session對象重新加載JVM時所采的動作稱之為Activate,所以容易理解的,sessionDidActivate()與 sessionWillPassivate()分別于Activeate后與將Passivate前呼叫。

2. 注冊監聽器

除了HttpSessionBindingListener和HttpSessionActivationListener外,必須在web.xml中向容器注冊,容器才會在對應的事件發生時呼叫對應的類別,如:

 

  1. <listener> 
  2.  
  3. <listener-class> 
  4.  
  5. demo.servlet.listener.CustomServletContextListener  
  6.  
  7. listener-class> 
  8.  
  9. listener> 
  10.  

 

【編輯推薦】

  1. J2ME手機RSS閱讀器通過NetBeans 4.0也可創建
  2. 深入探究cookie技術在J2ME平臺的應用與實現
  3. 探究J2ME中cookie庫的管理
  4. MotorolaJ2ME開發時需要注意的幾個細節
  5. Java2平臺J2SE、J2EE、J2ME三大版本的區別
責任編輯:金賀 來源: ITEYE博客
相關推薦

2009-06-22 14:07:46

JSF優勢

2025-01-02 12:51:06

2023-12-27 11:45:09

2012-05-10 16:45:54

linux系統

2024-04-24 09:52:19

云技能云遷移云計算

2010-04-19 11:23:26

Oracle開發工具

2011-08-17 13:55:25

VoIPPBX

2022-01-05 09:26:56

IT災難IT故障

2011-04-14 18:03:49

2011-12-19 09:35:53

2022-05-07 11:13:58

蘋果汽車技術

2023-06-07 16:21:16

2013-04-02 10:37:53

2012-05-05 09:28:50

三星

2012-05-11 11:53:36

虛擬化

2011-07-11 14:01:12

JAVA

2020-06-28 14:01:50

漏洞管理漏洞攻擊

2009-11-04 14:30:22

2010-11-22 10:44:13

2010-11-29 11:02:50

職場
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91国产视频在线 | 亚洲成人网在线 | 香蕉久久网 | 在线欧美一区二区 | 欧美日韩一区精品 | 欧美精选一区二区 | 色偷偷人人澡人人爽人人模 | 粉嫩一区二区三区国产精品 | 久久久久国产精品一区二区 | 午夜精品一区二区三区在线观看 | 国产羞羞视频在线观看 | 高清色 | 国产日韩精品一区二区 | 岛国精品 | 九九热最新地址 | 欧美激情一区二区 | 欧美成人h版在线观看 | 亚洲自拍一区在线观看 | 国产精品久久久久久久岛一牛影视 | 欧美日韩视频一区二区 | 成人伊人 | 久久成人久久 | 欧美日韩高清在线一区 | 青青久久久 | 一区二区三区四区免费在线观看 | 午夜a v电影 | 国产午夜精品久久久 | 日韩视频在线免费观看 | 久久伊人在| yeyeav| 伊人免费观看视频 | 色婷婷在线视频 | 成人亚洲一区 | av毛片 | 国产精品美女久久久久aⅴ国产馆 | 精品动漫一区 | 午夜精品久久久久久久久久久久久 | 日韩高清三区 | 欧美日韩不卡 | 中文字幕亚洲精品在线观看 | 久久高清精品 |