JavaWeb之監(jiān)聽器案例講解
更新時間:2021年08月05日 11:11:24 作者:Z && Y
這篇文章主要介紹了JavaWeb之監(jiān)聽器案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
1. 監(jiān)聽器
實現(xiàn)一個監(jiān)聽器的接口;(有n種監(jiān)聽器)
1.1 編寫一個監(jiān)聽器(實現(xiàn)監(jiān)聽器接口)
OnlineCountListener .java
package com.tian.listener; import javax.servlet.ServletContext; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; //統(tǒng)計網(wǎng)站在線人數(shù) : 統(tǒng)計session public class OnlineCountListener implements HttpSessionListener { //創(chuàng)建session監(jiān)聽: 看你的一舉一動 //一旦創(chuàng)建Session就會觸發(fā)一次這個事件! public void sessionCreated(HttpSessionEvent se) { ServletContext ctx = se.getSession().getServletContext(); System.out.println(se.getSession().getId()); Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount"); if (onlineCount == null) { onlineCount = new Integer(1); } else { int count = onlineCount.intValue(); onlineCount = new Integer(count + 1); } ctx.setAttribute("OnlineCount", onlineCount); } //銷毀session監(jiān)聽 //一旦銷毀Session就會觸發(fā)一次這個事件! public void sessionDestroyed(HttpSessionEvent se) { ServletContext ctx = se.getSession().getServletContext(); Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount"); if (onlineCount == null) { onlineCount = new Integer(0); } else { int count = onlineCount.intValue(); onlineCount = new Integer(count - 1); } ctx.setAttribute("OnlineCount", onlineCount); } /* Session銷毀: 1. 手動銷毀 getSession().invalidate(); 2. 自動銷毀 web.xml <session-config> <!--1分鐘后session自動銷毀--> <session-timeout>1</session-timeout> </session-config> */ }
1.2 配置監(jiān)聽器
web.xml
<!--注冊監(jiān)聽器--> <listener> <listener-class>com.tian.listener.OnlineCountListener</listener-class> </listener>
1.3 啟動服務器
到此這篇關于JavaWeb之監(jiān)聽器案例講解的文章就介紹到這了,更多相關JavaWeb之監(jiān)聽器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java工具類之實現(xiàn)java獲取文件行數(shù)
這篇文章主要介紹了一個java工具類,可以取得當前項目中所有java文件總行數(shù),代碼行數(shù),注釋行數(shù),空白行數(shù),需要的朋友可以參考下2014-03-03Mybatis報錯日志BindingException的解決
本文主要介紹了Mybatis報錯日志BindingException的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07解析Java的JNI編程中的對象引用與內(nèi)存泄漏問題
這篇文章主要介紹了Java的JNI編程中的對象引用與內(nèi)存泄漏問題,重點講述了局部和全局引用時一些值得注意的地方,需要的朋友可以參考下2015-11-11IDEA中的yml文件與properties互相轉(zhuǎn)換
這篇文章主要介紹了IDEA中的yml文件與properties互相轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10java實現(xiàn)一次性壓縮多個文件到zip中的方法示例
這篇文章主要介紹了java實現(xiàn)一次性壓縮多個文件到zip中的方法,涉及java針對文件批量壓縮相關的文件判斷、遍歷、壓縮等操作技巧,需要的朋友可以參考下2019-09-09JDK14的新特性NullPointerExceptions的使用
這篇文章主要介紹了JDK14的新特性NullPointerExceptions的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04