用监听器来实现网络在线人数
来源:互联网 发布:c语言函数调用的例子 编辑:程序博客网 时间:2024/04/28 05:39
监听器:
登陆:
在线成员列表:
本页面用监听器实现了在线人员的列表显示,登陆后,session-timeou 为1分钟
在监听器中,实现了ServletContextListener,HttpSessionAttributeListener,HttpSessionListener 的个别方法,以实现人员的登陆与注销.
只在了解监听器(学习中.........)
- package org.listenerdemo;
- import java.util.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- public class OnlineUserListimplements ServletContextListener,HttpSessionAttributeListener,HttpSessionListener
- {
- private ServletContext app = null;
- public void contextInitialized(ServletContextEvent sce){
- this.app = sce.getServletContext();
- this.app.setAttribute("online",new TreeSet());//准备集合
- }
- public void contextDestroyed(ServletContextEvent sce){}
- public void attributeAdded(HttpSessionBindingEvent se){
- Set all = (Set) this.app.getAttribute("online");
- all.add(se.getValue());
- this.app.setAttribute("online",all);
- }
- public void attributeRemoved(HttpSessionBindingEvent se){
- Set all = (Set) this.app.getAttribute("online");
- all.remove(se.getSession().getAttribute("userid"));
- this.app.setAttribute("online",all);
- }
- public void attributeReplaced(HttpSessionBindingEvent se){}
- public void sessionCreated(HttpSessionEvent se){}
- public void sessionDestroyed(HttpSessionEvent se){
- Set all = (Set) this.app.getAttribute("online");
- all.remove(se.getSession().getAttribute("userid"));
- this.app.setAttribute("online",all);
- }
- }
- /* web.xml 配置
- <listener>
- <listener-class>
- org.listenerdemo.OnlineUserList
- </listener-class>
- </listener>
- </servlet-mapping>
- <session-config>
- <session-timeout>1</session-timeout>
- </session-config>
- */
登陆:
- <%@ page contentType="text/html;charset=GBK"%>
- <%@ page import="java.util.*"%>
- <html>
- <head>
- <title>www.baidu.com</title>
- </head>
- <body>
- <form action="login.jsp" method="post">
- 用户ID: <input type="text" name="userid">
- <input type="submit" value="登陆">
- </form>
- <%
- request.setCharacterEncoding("GBK");
- %>
- <%
- String userid = request.getParameter("userid");
- if(!(userid==null ||"".equals(userid))){
- session.setAttribute("userid",userid);
- response.sendRedirect("list.jsp");
- }
- %>
- </body>
- </html>
在线成员列表:
- <%@ page contentType="text/html;charset=GBK"%>
- <%@ page import="java.util.*"%>
- <html>
- <head>
- <title>www.baidu.com</title>
- </head>
- <body>
- <%
- request.setCharacterEncoding("GBK");
- %>
- <%
- Set all = (Set)this.getServletContext().getAttribute("online");
- Iterator iter = all.iterator();
- while(iter.hasNext()){
- %>
- <h3><%=iter.next()%></h3>
- <%
- }
- %>
- </body>
- </html>
本页面用监听器实现了在线人员的列表显示,登陆后,session-timeou 为1分钟
在监听器中,实现了ServletContextListener,HttpSessionAttributeListener,HttpSessionListener 的个别方法,以实现人员的登陆与注销.
只在了解监听器(学习中.........)
- 用监听器来实现网络在线人数
- 用Servlet监听器实现对在线人数的统计
- 使用java 监听器实现在线人数统计
- 监听器(实现在线统计人数,踢人)
- 监听器--ServletRequestListener接口实现统计在线人数
- Servlet监听器实现网站在线人数统计
- 利用监听器实现网站在线人数统计
- jsp监听器实现在线人数统计
- 通过监听器实现在线人数统计
- 监听器监听在线人数
- 在线人数监听器
- 监听器统计在线人数
- Servlet监听器简介与实现在线人数统计
- 使用监听器实现一个统计网站在线人数的示例
- 利用servlet的监听器实现在线人数监控的功能
- 使用监听器实现一个统计网站在线人数的示例
- 利用servlet的监听器实现在线人数监控的功能
- Servlet监听器的简单使用实现统计在线人数
- [Android] 获得所有的Sensor信息
- Oracle扫描工具 By open
- python+pygame 生成迷宫
- mysql id in 排列问题
- ITU-R BT.601 介绍(转)
- 用监听器来实现网络在线人数
- 关于IE6的css文件
- SD/MMC SPI模式下命令合集
- 编写一个程序 输入字符串 直到遇到NULL 实现字符串的首字母排序(图)
- metalink--Oracle的官方技术支持站点
- 20120603晴,户外摄影
- iphone 相关文件名含义
- queue的C++实现
- 用struts2接收三种参数