servlet监听器实现在线人数统计

servlet监听器实现在线人数统计Posted on

一.准备知识

二.预备知识         通过ServletContext 的实例可以存取应用程序的全局对象以及初始化阶段的变量。 在JSP文件中,application 是 ServletContext 的实例,由JSP容器默认创建。Servlet 中调用 getServletContext()方法得到 ServletContext 的实例。       注意:全局对象即Application范围对象,初始化阶段的变量指在web.xml中,,经由<context-param>元素所设定的变量,它的范围也是Application范围,例如:

Name</param-name> browser</param-value> </context-param>

        当容器启动时,会建立一个Application范围的对象,若要在JSP网页中取得此变量时:

String name = (String)application.getInitParameter("Name"); ${initPara.name} //若是在Servlet中,取得Name的值方法: String name = (String)ServletContext.getInitParameter("Name");

          目前Servlet2.4和JSP2.0总共有8个监听器接口和6个Event类,如下:

           突然不支持图片发布, 笔者也很郁闷,需要的读者自己查吧。。。

三.统计在线人数

       1.第一种方式

package webbook.chapter14;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;public class CounterListener implements HttpSessionListener {onlineNumber = 0;getOnlineNumber() {return onlineNumber;}public void sessionCreated(HttpSessionEvent se) {onlineNumber++;}public void sessionDestroyed(HttpSessionEvent se) {onlineNumber–;}}当前应用中一共有<%=CounterListener.getOnlineNumber()%>人在线<br>

        统计的数字并不完全准确,因为可能用户下线了,session还没失效,怎么办呢?俺也不知道。。

        2.第二种方式

            显示谁在线,使用ArrayList,创建session时加入,销毁时删除(remove)。

四.结束语

        好好学习,天天向上。。。。。

销售世界上第一号的产品——不是汽车,

servlet监听器实现在线人数统计

相关文章:

你感兴趣的文章:

标签云: