最近在学servlet jsp,用的林信良先生的 jsp&servlet 这本书,在第五章有道在线人数统计的课后题完成,做一次记录. 实际效果: 一:用户类: package cc.openhome.controler; public class User { private String name; private String sessionId; private String ip; private String firstTime; private String userAgent; p…
在线人数统计方面的实现,最初我的想法是,管理session,如果session销毁了就减少,如果登陆用户了就新增一个,但是如果是用户非法退出,如:未注销,关闭浏览器等,这个用户的session是管理不到的,最后决定用HttpSessionListener接口或HttpSessionBindingListener接口来实现,通过监听session的新建和销毁来控制,详细如下. 先添加登陆的页面index.jsp <%@ page contentType="text/html;charset=…
原文链接:http://www.cnblogs.com/shencheng/archive/2011/01/07/1930227.html 下午比较闲(其实今天都很闲),想了一下在线人数统计方面的实现,上网找了下这方面的知识,最初我的想法是,管理session,如果session销毁了就减少,如果登陆用户了就新增一个,但是如果是用户非法退出,如:未注销,关闭浏览器等,这个用户的session是管理不到的,最后决定用HttpSessionListener接口或HttpSessionBindingL…
下午比较闲(其实今天都很闲),想了一下在线人数统计方面的实现,上网找了下这方面的知识,最初我的想法是,管理session,如果session销毁了就减少,如果登陆用户了就新增一个,但是如果是用户非法退出,如:未注销,关闭浏览器等,这个用户的session是管理不到的,最后决定用HttpSessionListener接口或HttpSessionBindingListener接口来实现,通过监听session的新建和销毁来控制,详细如下. 先添加登陆的页面index.jsp <%@ page con…
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-[过滤器+Cache] 系列目录 上次的探讨没有任何结果,我浏览了大量的文章和个别系统的参考!决定用Cache来做,这可能有点难以接受但是配合mvc过滤器来做效果非常好! 由于之前的过滤器我们用过了OnActionExecuting这个方法来判断权限 现在在方法被执行后我们用OnActionExecuted来监听用户的操作和刷新用户在线列表 首先下载http://files…
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨 系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确定用户是否在线,也可以理解为操作日志,当系统扫描的日志间隔太长将被理解为用户离线,所以要不断的更新操作表和操作表日益增长的烦恼,所以必须定时的清除操作表,当系统启动时要重置表数据!…
一.session销毁控制层代码 public class InvalidateSession extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        request.getSession().invalidate();//执行销毁session…
一.准备知识 servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层. filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求.响应和头信息.Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应. listener:监听器,从字面上可以看出listener主要用来监听只用.通过listener可以监听web服务…
系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确定用户是否在线,也可以理解为操作日志,当系统扫描的日志间隔太长将被理解为用户离线,所以要不断的更新操作表和操作表日益增长的烦恼,所以必须定时的清除操作表,当系统启动时要重置表数据! 想到MVC的自带过滤器,在执行方法的前或后对其记录操作!比Discuz!NT的操作可能来得简易了,虽然思想是一样的!…
session并不是浏览器关闭时销毁的,而是在session失效的时候销毁下列代码就是监测session创建.销毁 package com.my.count; import javax.servlet.http.*; public class SessionCounter implements HttpSessionListener { private static int activeSessions = 0; //session创建时执行 public void sessionCreated…
用Strust2框架的知识简单实现一个统计在线人数的问题. 1 搭建开发环境:(配置文件,jar包等问题) 2 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional/…
1.新建网站,添加几个窗体.webForm1.aspx ,ViewStateForm.aspx 2.在网站的根目录下添加全局应用程序类“Global.aspx” .(重要) 3.在“Global.aspx” 有固有的格式和会话信息结构. 4.在“Global.aspx”中各个函数中添加处理代码.详细如下: <%@ Application Language="C#" %> <script runat="server"> void Applica…
application最经典的一个方法:统计在线人数,这需要借助于我们的全局应用程序类来对登录的用户信息进行统计: 以下是代码片段:    void application_start(object sender, eventargs e)  {  //在应用程序启动时运行的代码  application["count"] = 0;  system.io.filestream fs = system.io.file.open(server.mappath("count.txt…
原文件:http://blog.csdn.net/wxd_860825/article/details/4589292 利用Application对象和Session对象可以统计当前在线用户数量. 注意: (1)在会话开始和结束时,一定要进行加锁和解锁操作.由于多个用户可以共享Application对象,因此加锁是必要的,这样可以保证在同一时刻只有一个客户可以修改和存取Application对象的属性.如果加锁后,迟迟不给开锁,会导致用户无法访问Application对象.我们可以使用对象的Un…
//java 代码public class SessionCounter implements HttpSessionListener { private static int activeSessions = 0; //session创建时执行 public void sessionCreated(HttpSessionEvent se) { activeSessions++; } //session销毁时执行 public void sessionDestroyed(HttpSessionE…
<?php $mc = new Memcache (); // 连接memcache $mc->connect ( ); // 获取 在线用户 IP 和 在线时间数据 $online_members = $mc->get ( 'online_members' ); // 如果为空,初始化数据 if (! $online_members) { $online_members = array (); } // 获取用户ip $ip = $_SERVER ["REMOTE_ADDR&…
系列目录 上次的探讨没有任何结果,我浏览了大量的文章和个别系统的参考!决定用Cache来做,这可能有点难以接受但是配合mvc过滤器来做效果非常好! 由于之前的过滤器我们用过了OnActionExecuting这个方法来判断权限 现在在方法被执行后我们用OnActionExecuted来监听用户的操作和刷新用户在线列表 首先下载http://files.cnblogs.com/ymnets/OnlineUser.7z这个类库,代码清晰,并加注释 这个类库包括了操作在线用户列表的增删方法,大家可以下…
在Global.asax.cs文件中代码: protected void Application_Start() { Application[; AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); } protected void Session_Start(object sender, EventArgs e)…
最近在学习Javaweb相关的内容(不黑不吹之前对web开发零基础),下面通过一个统计在线人数的小栗子讲讲Servlet监听器吧 开发环境 eclipse  tomcat 7 先说说这个小栗子的构思: 首先要考虑的就是通过什么方式能够统计在线人数?很容易想到可以通过session来统计在线人数为什么不是request呢?因为request在请求结束时即服务器返回资源时就被销毁了,也就是说request的作用域不足以用以统计在线人数.服务器在第一次接受一个用户请求时会给该用户分配一个session…
整体介绍下:  监听器:监听器-就是一个实现待定接口的普通Java程序,此程序专门用于监听别一个类的方法调用.都是使用观察者设计模式. 小弟刚接触这个,做了些简单的介绍.大神请绕道,技术仅仅是一点点,方便以后遇到问题能够看这些能解决一些问题.同一时候希望和大家一起分享下自己写的小小演示样例 在servlet中事件源: 事件源:HttpSession HttpSessionListener  -  HttpSessionAttributeListener HttpSessionEvent 事件源:…
主要是两个文件,一个是后端文件,一个是前端文件: 后端文件:有人登录了,就通知所有的正在访问的页面,把总人数+1:反之-1: 前端文件:有人登录了,通知后端,页面关闭了,通知后端,同时接收后端派发来的消息: 首先,我们来写后端文件-app.js: var express = require('express'); var app = require('express')(); var server = require('http').createServer(app); var io = req…
转自:http://uule.iteye.com/blog/824115 HttpSessionListener : Session创建事件发生在每次一个新的session创建的时候,类似地Session失效事件发生在每次一个Session失效的时候. 这个接口也只包含两个方法,分别对应于Session的创建和失效:# public void sessionCreated(HttpSessionEvent se); # public void sessionDestroyed(HttpSessi…
1. import java.util.HashSet; import javax.servlet.ServletContext; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class MySessionListener implements HttpSessionL…
Session创建事件发生在每次一个新的session创建的时候,类似地Session失效事件发生在每次一个Session失效的时候. 这个接口也只包含两个方法,分别对应于Session的创建和失效: # public void sessionCreated(HttpSessionEvent se); # public void sessionDestroyed(HttpSessionEvent se); 我的web应用上想知道到底有多少用户在使用? 在网站中经常需要进行在线人数的统计.过去的一…
如果要查看IIS连接数,最简单方便的方法是通过“网站统计”来查看,“网站统计”的当前在线人数可以认为是当前IIS连接数;如果要想知道确切的当前网站IIS连接数的话,最有效的方法是通过windows自带的系统监视器来查看如果要查看IIS连接数,最简单方便的方法是通过“网站统计”来查看,“网站统计”的当前在线人数可以认为是当前IIS连接数.然而,“网站统计”的当前在线人数统计时间较长,一般为10分钟或15分钟,再加上统计技术及统计机制的问题,从而会产生或多或少的统计误差. 如果要想知道确切的当前网站…
前言:在web应用中,有时候你想在web应用程序启动或关闭的时候执行一些任务,或者你想见他Session的创建和关闭等你就可以通过监听器来实现.那么Servlet来8个监视器接口,下面一一讲解一下. 1:ServletContextListener和ServletContextAttributeListener 1.1:ServletContextListener主要用于容器的启动和关闭时候进行监听.有2个方法分别用于监听容器启动和关闭.比喻我们在容器启动的时候做数据库连接的初始化.容器关闭时候…
监听器实例: package com.gwssi.listener; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class SessionListener implements HttpSessionListener { @Override public void s…
写过AWT或Swing程序的人一定对桌面程序的事件处理机制印象深刻:通过实现Listener接口的类可以在特定事件(Event)发生时,呼叫特定的方法来对事件进行响应. 其实我们在编写JSP/Servle程序时,也有类似的事件处理机制,所不同的是在JSP/Servlet中是在web.xml中注册Listener,由Container在特定事件发生时呼叫特定的实现Listener的类. 1. Servlet中的Listener和Event: 在JSP 2.0/Servlet 2.4中,共有八个Li…
本文研究的总结.欢迎转载,但请注明出处:http://blog.csdn.net/pistolove/article/details/44310967 A:监听器的定义      专门用于其它对象身上发生的事件或状态改变进行监听和对应事件处理的对象,当被监听的对象发生改变时,马上採取对应的行动.            client请求                                       ServletContext --> Application      上下文对象 由…
监听器概述 监听器(Listener)是一种特殊的Servlet技术,它可以监听Web应用的上下文信息.Servlet请求信息和Servlet会话信息,即ServletContext.ServletRequest.HttpSession.并根据不同的情况,在后台调用相应的处理程序.利用监听器对Web应用进行监听和控制,来增强Web应用的事件处理能力. 监听器要用到javax.servlet.jar中的一组监听接口和事件类,根据监听对象的不同,监听器可被划分为3种: 1)ServletContex…