偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Servlet中的八大Listener

開(kāi)發(fā) 后端
JSP/Servlet 中的事件處理寫(xiě)過(guò)AWT或Swing程序的人一定對(duì)桌面程序的事件處理機(jī)制印象深刻:通過(guò)實(shí)現(xiàn)Listener接口的類(lèi)可以在特定事件(Event)發(fā)生時(shí),呼叫特定的方法來(lái)對(duì)事件進(jìn)行響應(yīng)。

/Servlet 中的事件處理寫(xiě)過(guò)AWT或Swing程序的人一定對(duì)桌面程序的事件處理機(jī)制印象深刻:通過(guò)實(shí)現(xiàn)Listener接口的類(lèi)可以在特定事件(Event)發(fā)生時(shí),呼叫特定的方法來(lái)對(duì)事件進(jìn)行響應(yīng)。

其實(shí)我們?cè)诰帉?xiě)JSP/Servle程序時(shí),也有類(lèi)似的事件處理機(jī)制,所不同的是在JSP/Servlet中是在web.xml中注冊(cè)Listener,由Container在特定事件發(fā)生時(shí)呼叫特定的實(shí)現(xiàn)Listener的類(lèi)。

1. Servlet中的Listener和Event:

在JSP 2.0/Servlet 2.4中,共有八個(gè)Listener接口,六個(gè)Event類(lèi)別。

l ServletContextListener

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

[接收事件] ServletContextEvent

[觸發(fā)場(chǎng)景] 在Container加載Web應(yīng)用程序時(shí)(例如啟動(dòng) Container之后),會(huì)呼叫contextInitialized(),而當(dāng)容器移除Web應(yīng)用程序時(shí),會(huì)呼叫contextDestroyed ()方法。

l ServletContextAttributeListener

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

[接收事件] ServletContextAttributeEvent

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

l HttpSessionListener

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

[接收事件] HttpSessionEvent

[觸發(fā)場(chǎng)景] 在session(HttpSession)對(duì)象建立或被消滅時(shí),會(huì)分別呼叫這兩個(gè)方法。

l HttpSessionAttributeListener

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

[接收事件] HttpSessionBindingEvent

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

l ServletRequestListener

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

[接收事件] RequestEvent

[觸發(fā)場(chǎng)景] 在request(HttpServletRequest)對(duì)象建立或被消滅時(shí),會(huì)分別呼叫這兩個(gè)方法。

l ServletRequestAttributeListener

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

[接收事件] HttpSessionBindingEvent

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

l HttpSessionBindingListener

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

[接收事件] HttpSessionBindingEvent

[觸發(fā)場(chǎng)景] 實(shí)現(xiàn)HttpSessionBindingListener接口的類(lèi)別,其實(shí)例如果被加入至session(HttpSession)對(duì)象的屬性中,則會(huì)呼叫 valueBound(),如果被從session(HttpSession)對(duì)象的屬性中移除,則會(huì)呼叫valueUnbound(),實(shí)現(xiàn)HttpSessionBindingListener接口的類(lèi)別不需在web.xml中設(shè)定。

l HttpSessionActivationListener

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

[接收事件] HttpSessionEvent

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

2. 注冊(cè)監(jiān)聽(tīng)器

除了HttpSessionBindingListener和HttpSessionActivationListener外,必須在web.xml中向容器注冊(cè),容器才會(huì)在對(duì)應(yīng)的事件發(fā)生時(shí)呼叫對(duì)應(yīng)的類(lèi)別,如:

 

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

 

【編輯推薦】

  1. J2ME手機(jī)RSS閱讀器通過(guò)NetBeans 4.0也可創(chuàng)建
  2. 深入探究cookie技術(shù)在J2ME平臺(tái)的應(yīng)用與實(shí)現(xiàn)
  3. 探究J2ME中cookie庫(kù)的管理
  4. MotorolaJ2ME開(kāi)發(fā)時(shí)需要注意的幾個(gè)細(xì)節(jié)
  5. Java2平臺(tái)J2SE、J2EE、J2ME三大版本的區(qū)別
責(zé)任編輯:金賀 來(lái)源: ITEYE博客
相關(guān)推薦

2009-06-22 14:07:46

JSF優(yōu)勢(shì)

2025-01-02 12:51:06

2012-05-10 16:45:54

linux系統(tǒng)

2023-12-27 11:45:09

2010-04-19 11:23:26

Oracle開(kāi)發(fā)工具

2024-04-24 09:52:19

云技能云遷移云計(jì)算

2011-08-17 13:55:25

VoIPPBX

2022-01-05 09:26:56

IT災(zāi)難IT故障

2011-04-14 18:03:49

2011-12-19 09:35:53

2022-05-07 11:13:58

蘋(píng)果汽車(chē)技術(shù)

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

職場(chǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)