- 浏览: 141367 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yanbin0830:
你好,请问有全部的视频,或者代码吗?
传智播客-----JBPM介绍 -
qqliuyuxi:
不错,对我很有用
php模板引擎smarty的变量操作符 -
pouyang:
prototype是不是 javascript中所说的原型链啊 ...
JavaScript:prototype属性使用说明
高手请进!!java统计网站的访问量和在线人数的问题,有知道的直接发一个简单的例子我,多谢啦!
悬赏分:30 - 解决时间:2009-9-14 09:16
我的邮箱928945469@qq.com,再次感谢!!!
提问者: 毛毛爱你1314 - 二级最佳答案首先给你讲一下,我的理解,人数统计好说,因为,可已设置监听器,让其在服务器启动的时候进行监听,然后统计登录人数,但是统计在线人数,就麻烦点了,因为大多数人都不愿意点击注销按钮,直接关闭浏览器,这样session的关闭就麻烦了点,我先给出统计人数的代码,我想统计在线人数可以定时调用程序来统计,但是不是实时的,所以最大的障碍就是怎么在关闭浏览器的时候,就关闭session
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ApplicationListener implements ServletContextListener{
public void contextDestroyed(ServletContextEvent arg0) {
ServletContext sc = arg0.getServletContext();
Integer count = (Integer) sc.getAttribute("AccessCount");
try {
PrintWriter out = new PrintWriter(new FileWriter("c:/Users/god/count.txt"));// 将人数保存到文本文件
System.out.println("count:"+count);
out.print(count);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void contextInitialized(ServletContextEvent arg0) {
Integer count = 0;
ServletContext sc = arg0.getServletContext();
try {
Scanner in = new Scanner(new FileReader("c:/Users/god/count.txt"));// 读取已经产生的人数信息,然后进行累加
count = in.nextInt();
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
sc.setAttribute("AccessCount", count);
}
}
在web.xml文件里面进行设置
<listener>
<listener-class>
文件的位置也就是包名.ApplicationListener
</listener-class>
</listener>
统计的时候是设置拦截器,需要在struts.xml中设置
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
@SuppressWarnings("serial")
public class AccessInterceptor implements Interceptor{
private String id;
public void destroy() {
}
public void init() {
}
@SuppressWarnings("unchecked")
public String intercept(ActionInvocation ai) throws Exception {
ServletContext sc = ServletActionContext.getServletContext();
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
if(!session.getId().equals(id)){
Integer count = (Integer) sc.getAttribute("AccessCount");// 判断如果登录成功,统计数字自增
sc.setAttribute("AccessCount", count+1);
id = session.getId();
}
String result = ai.invoke();
return result;
}
}
你可以直接挂一个google或者51的统计脚本;
你也可以使用日志的方式来记录访问量,一般不要往数据库来;通过分析log即可;
回答者: ustbduanhang - 九级 2009-8-31 09:33
可以提供一些思路给你:
【网站级访问量】
一、 ServletContext 中存放一个计数器(Integer 也可)
ServletRequestListener.requestInitialized(ServletRequestEvent sre)
计数器++
二、 Filter 中使用 静态变量 进行统计。
【页面级访问量】
一、 Servlet 或 Action 中使用 静态变量 进行统计。
二、 Filter 中使用 静态变量 进行统计。
【网站在线人数】
ServletContext 中存放一个计数器(Integer 也可)或 其他类中使用一个 静态变量
登录时:session.setAttribute("wangyf", "***") 计数器++
HttpSessionListener
sessionDestroyed(HttpSessionEvent se) {
session.getAttribute("wangyf") != null 计数器--
}
悬赏分:30 - 解决时间:2009-9-14 09:16
我的邮箱928945469@qq.com,再次感谢!!!
提问者: 毛毛爱你1314 - 二级最佳答案首先给你讲一下,我的理解,人数统计好说,因为,可已设置监听器,让其在服务器启动的时候进行监听,然后统计登录人数,但是统计在线人数,就麻烦点了,因为大多数人都不愿意点击注销按钮,直接关闭浏览器,这样session的关闭就麻烦了点,我先给出统计人数的代码,我想统计在线人数可以定时调用程序来统计,但是不是实时的,所以最大的障碍就是怎么在关闭浏览器的时候,就关闭session
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ApplicationListener implements ServletContextListener{
public void contextDestroyed(ServletContextEvent arg0) {
ServletContext sc = arg0.getServletContext();
Integer count = (Integer) sc.getAttribute("AccessCount");
try {
PrintWriter out = new PrintWriter(new FileWriter("c:/Users/god/count.txt"));// 将人数保存到文本文件
System.out.println("count:"+count);
out.print(count);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void contextInitialized(ServletContextEvent arg0) {
Integer count = 0;
ServletContext sc = arg0.getServletContext();
try {
Scanner in = new Scanner(new FileReader("c:/Users/god/count.txt"));// 读取已经产生的人数信息,然后进行累加
count = in.nextInt();
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
sc.setAttribute("AccessCount", count);
}
}
在web.xml文件里面进行设置
<listener>
<listener-class>
文件的位置也就是包名.ApplicationListener
</listener-class>
</listener>
统计的时候是设置拦截器,需要在struts.xml中设置
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
@SuppressWarnings("serial")
public class AccessInterceptor implements Interceptor{
private String id;
public void destroy() {
}
public void init() {
}
@SuppressWarnings("unchecked")
public String intercept(ActionInvocation ai) throws Exception {
ServletContext sc = ServletActionContext.getServletContext();
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
if(!session.getId().equals(id)){
Integer count = (Integer) sc.getAttribute("AccessCount");// 判断如果登录成功,统计数字自增
sc.setAttribute("AccessCount", count+1);
id = session.getId();
}
String result = ai.invoke();
return result;
}
}
你可以直接挂一个google或者51的统计脚本;
你也可以使用日志的方式来记录访问量,一般不要往数据库来;通过分析log即可;
回答者: ustbduanhang - 九级 2009-8-31 09:33
可以提供一些思路给你:
【网站级访问量】
一、 ServletContext 中存放一个计数器(Integer 也可)
ServletRequestListener.requestInitialized(ServletRequestEvent sre)
计数器++
二、 Filter 中使用 静态变量 进行统计。
【页面级访问量】
一、 Servlet 或 Action 中使用 静态变量 进行统计。
二、 Filter 中使用 静态变量 进行统计。
【网站在线人数】
ServletContext 中存放一个计数器(Integer 也可)或 其他类中使用一个 静态变量
登录时:session.setAttribute("wangyf", "***") 计数器++
HttpSessionListener
sessionDestroyed(HttpSessionEvent se) {
session.getAttribute("wangyf") != null 计数器--
}
发表评论
-
视频html代码
2010-04-21 20:26 1040视频html代码 播放视频最实用的一段代码是: 程序代码&l ... -
<object>标签属性和用法
2010-04-21 15:08 2509快播的classid="clsid:F3D0D36F ... -
extjs record
2010-04-11 22:04 3906Ext.data.Store是EXT中用来 ... -
extjs获取 JSON数据的字段
2010-04-11 17:14 2235//获取json字符串中的一个值 我只会ExtJS中的方法: ... -
Ext的FormPanel刷新
2010-04-11 15:27 2177动态增加的代码如下: 在Form上面加入一个按钮: ... -
panel_load_刷新
2010-04-10 22:39 1768引用页刷新的问题不仅仅体现在TabPanel里,只要是带loa ... -
datasource 类
2010-04-07 21:55 918package org.leno.javabean; ... -
ext表单验证
2010-04-06 17:23 21152009-06-19 09:55 by 三把刷子, 604 v ... -
java多线程编程实例
2010-04-04 20:36 7529java多线程编程实例Java学练 2009-07-23 16 ... -
jsp 用urlrewrite 实现URL 重写
2010-04-03 11:52 860jsp 用urlrewrite 实现URL 重写 是否 ... -
Socket多线程最好的资料
2010-04-02 17:15 3010Java多线程Socket资料 ---- 摘要:在Jav ... -
java串口编程
2010-04-02 12:53 17961. SerialBean SerialBean是本类库与其他 ... -
JAVA 与 QQ 网络通讯实例
2010-04-02 12:50 1022JAVA 与 QQ 网络通讯实例 准备工作:1.两个QQ(Q ... -
extjs tree tabplanel
2010-04-01 18:14 2147在实际的项目中,左边树形菜单,提供各种功能点击,右边一个面板 ... -
ExtJS 2.2定时任务
2010-03-29 19:55 2543ExtJS 2.2定时任务 定时 ... -
学习ExtJS Window常用方法
2010-03-27 15:52 1277ExtJS Window常用方法,需要的朋友可以参考下。一、属 ... -
extjs form
2010-03-27 15:31 1175Ext Panel:设置Frame属性为true 收藏 对Ex ... -
extjs tree accortion
2010-03-25 19:18 925<html> <head> ... -
ExtJS事件
2010-03-25 18:07 1587ExtJS入门之事件(fireEvent) 关键字: java ... -
extjs
2010-03-24 19:51 658ext编辑表格 只需要在cm 加上 editor ...
相关推荐
Java+Spring+Mysql+C3P0 统计网站的访问量,比如PV(页面浏览量),UV(独立访客数),将统计结果保存到MYSQL数据库中。解压后有项目log和Mysql的建库脚本。
主要为大家详细介绍了Java web网站访问量的统计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
框架采用spring,导入eclipse即可,数据库用的sqlserver,mysql也可以,需要改动下驱动包。那个sql建表用的。
非常完美Java实现年、月、日、周访问量统计、
一、访问量与响应时间统计工具。 1、能让你知道当前服务上的接口单位时间内访问量是多少,总的响应时间是多少 2、通过1里的数据,你能知道哪个接口反应慢,如果服务假死,能根据它来快速判断哪些接口搞死了服务...
改动极小,容易添加。实惠好用.放在里面就可以使用。不改动数据库
网站统计在线人数,当前年、月、日访问量JAVA代码
java ip匹配 访问量+1 从 `IP地址文件` 中读取地址关系到自己的数据结构中; 2. 从 `日志文件` 中读取ip,解析关联的城市,对应的城市访问量 `+1` ; 3. 统计访问量最多的前10城市
Java实现:月,日,年,周,访问量统计
您是第8位访问者 总访问量: 9 本年访问量:2 本月访问量:2 本周访问量:9 本日访问量:2您是第8位访问者 总访问量: 9 本年访问量:2 本月访问量:2 本周访问量:9 本日访问量:2
Java 访问量
js实现网站访问量统计哦。
统计代码,实现数1.个人设置里进行手机绑定CSDN账户 奖励50分 (右上角设置-账户安全-手机绑定) 2.完成任务送若干分积分 http://task.csdn.net/ 3.上传有效资源获取积分(上传非法,广告资源用户,将被扣除一定积分,...
融成Java后台网站内容管理系统是一款基于Java语言开发的功能强大的内容管理系统。成功实现了既能够管理包括企业官网、门户站点、图片视频软件等上传下载网站、博客网站、电商购物网站、物流管理网站等复杂多级页面和...
java代码统计工具,给出一个文件路径,统计出代码的总行数,注释行数,空行行数。含可运行的jar,以及源代码。 更多请访问: http://blog.csdn.net/china8848
简单的看网站中访问的人数,适合初学者看看了解。 没有用到很特别的技术!
5dSite多用户网站流量统计系统 Ver1