實現一個監聽器的接口;(有N種)
這裏用seesion監聽器統計網站在線人數演示監聽器使用
1.編寫一個監聽器
實現監聽器的接口
//統計網站在線人數
public class OnlineCountListener implements HttpSessionListener {
//創建session時觸發
public void sessionCreated(HttpSessionEvent se) {
//獲取servlet上下文對象
ServletContext servletContext = se.getSession().getServletContext();
Integer onlineCount = (Integer) servletContext.getAttribute("OnlineCount");
if (onlineCount==null){
//如果在線人數爲0,則設置在線人數爲1
onlineCount = new Integer(1);
}else {
//在線人數+1
int count = onlineCount.intValue();
onlineCount= new Integer(count+1);
}
//將在線人數放入servletContext對象中
servletContext.setAttribute("OnlineCount",onlineCount);
}
//銷燬session時觸發
public void sessionDestroyed(HttpSessionEvent se) {
//獲取servlet上下文對象
ServletContext servletContext = se.getSession().getServletContext();
Integer onlineCount = (Integer) servletContext.getAttribute("OnlineCount");
if (onlineCount==null){
//如果在線人數爲0,則設置在線人數爲0
onlineCount = new Integer(0);
}else {
//在線人數-1
int count = onlineCount.intValue();
onlineCount= new Integer(count-1);
}
}
}
2.web.xml中註冊監聽器
<!--註冊監聽器-->
<listener>
<listener-class>com.zh.servlet.OnlineCountListener</listener-class>
</listener>
這裏由於QQ瀏覽器自身訪問時會創建一個session所以在線人數爲2
再使用edge訪問
在線人數+1