servletcontext事件監聽器---->針對applicationscope
servletcontextlistener(*)
對整個web應用的裝載和解除安裝進行監聽。
servletcontextattributelistener
對servletcontext中的資訊存放、删除和替換進行監聽。
servletcontext就是servlet上下文監聽,在web中表示的是對啟動服務和銷毀服務進行監聽,需要實作的接口:
servletcontextlistener接口,實作的就是對上下午進行監聽:
void contextinitialized(servletcontextevent sce):啟動上下文時的監聽
void contextdestroyed(servletcontextevent sce):銷毀上下文時進行的監聽
除了對上下文的啟動和銷毀進行監聽的之外,還可以對上下文的屬性進行監聽:servletcontextattributelistener接口。
void attributeadded(servletcontextattributeevent event):設定上下文屬性監聽
void attributeremoved(servletcontextattributeevent event):移除上下文屬性的監聽
void attributereplaced(servletcontextattributeevent event):修改上下文屬性的監聽
servletcontextattributeevent:事件,可以通過事件取得屬性的内容和名稱。
·取得屬性名稱:public java.lang.string getname()
·取得屬性的值:public java.lang.object getvalue()
效果如下圖:
當登入一個賬号時
打開另一個浏覽器,再登入一個賬号
如上圖,我們可以看到,程式已經完成了統計線上人數和顯示人員清單的功能,那麼他的實作流程是什麼呢?
我們可以通過servletcontextlistener完成線上人數的統計和顯示線上人數清單,首先listener和filter一樣要在web.xml中進行描述。
代碼如下:
為了測試這個程式,我們也必須完成使用者登入功能。
資料庫連接配接幫助類:
使用者實體類:
資料庫處理類:
servlet類:
監聽類:
登入頁面
顯示線上人數和線上人員的清單界面
登出界面:
代碼下載下傳位址:http://download.csdn.net/detail/weixin_36380516/9811993