首先复写一个Session的监听器,对新创建的session进行监听。
ApplicationListener.java
package dsh.bikegis.listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import dsh.bikegis.dao.AccessPeopleDao;
import dsh.bikegis.tool.SpringBeanFactory;
/**
* 統計網站訪問人數
*
* @author NanGuoCan
*
*/
public class ApplicationListener implements HttpSessionListener {
/**
* 把歷史訪問人數讀取出來,並且把已經加1的訪問人數存入數據庫中
*/
public void sessionCreated(HttpSessionEvent se) {
AccessPeopleDao apd = (AccessPeopleDao) SpringBeanFactory
.getBean("apd");
int count;
count = Integer.parseInt(apd.getNum());// 從數據庫中讀取歷史訪問人數
++count;// 訪問人數加1
apd.updateNum(Integer.toString(count));// 寫入到數據庫
se.getSession().setAttribute("count", count);
}
/**
* Session Destroyed
*/
public void sessionDestroyed(HttpSessionEvent se) {
}
}
配置web.xml文件(此文件要配置在Spring监听器文件之后,否则可能造成空指针异常)
<listener>
<listener-class>
dsh.bikegis.listener.ApplicationListener
</listener-class>
</listener>
一个工具类,用来获得Spring注入的bean
SpringBeanFactory .java
package dsh.bikegis.tool;
import org.apache.struts2.ServletActionContext;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.WebApplicationContext;
/**
*
* @author NanGuoCan
*
*/
public class SpringBeanFactory {
public static Object getBean(String beanName) {
ApplicationContext applicationContext = (ApplicationContext) ServletActionContext
.getServletContext()
.getAttribute(
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
return applicationContext.getBean(beanName);
}
}
下面是对数据库的操作了,在此我就不上传代码了,主要就是先读取数据库中的历史访问人数,然后加1,再写入数据库,并且把加1后的数据放在session中,在前台取得
分享到:
相关推荐
3、在线人数、时长统计 4、提供用户接口、其他系统用户接口调用设置以及接口管理(可与jeecms系列软件无缝对接实现单点登录) 5、用户自定义字段 6、禁用ip、id发帖、回帖 7、注册成功自动登录 8、设置在线活跃...
4. 新闻访问统计:系统提供详细的新闻访问统计数据,包括访问量、访客数、访问时长等。用户可以通过这些数据分析新闻的受欢迎程度,优化新闻发布策略。 5. 新闻评论:系统支持用户对新闻进行评论和点赞,增强企业与...
通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。基于JSP的毕业生离校系统的设计与实现,正是互联网与社会生活之间的紧密联系的体现。 在这个系统中我综合应用了MySQL、S2...
1.4 ssh 2组合框架—门户网站开发之首选 28 1.4.1 mvc混血宠儿struts 2 28 1.4.2 幕后的财政部长spring 2.5 30 1.4.3 orm中间件香馍馍hibernate 3.2 31 1.5 小结 32 第2章 mvc混血宠儿struts 2 33 2.1 初识mvc...
利用aop + scheduler 采用动态表实现日志管理,提高日志表的存储和访问能力. .集成 spring cache ,对 service层用户参与调查进行缓存处理,有效降低数据库负 载压力. 0.使用 RoutingDatasource + token对数据源路由...
7.4 统计访问量功能 7.5 指点迷津——session知识 7.6 统计在线人数功能 7.7 小结 第8章 网络购物车(jsp+servlet+javabean) 8.1 网络购物车原理 8.2 实现网络购物车功能 8.3 小结 第9章 ...
本文的内容描述通过 Java Web 技术实现小型酒店管理系统。本文实现的管理系统是 ...技术为多种关系型的数据库提供访问接口,也是一个数据库 的连接池; XML 技术经常用于处理和传输各种数据和信息。
简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 ...
[摘 要] 目前多数高校毕业论文选题采用原始手工报送方式,存在耗时长、效率低、师生交流度低、上报统计烦琐、 不能及时了解整体进展等问题,而采用常用的J2EE框架(如SSH)开发的论文选题系统要求开发人员了解各框架...
├ 工作量统计 统计功能 ├ 会员注册统计 ├ 内容统计 ├ 评论统计 ├ 留言统计 ├ PV统计 ├ 独立IP统计 ├ 独立访客统计 ├ 人均浏览次数统计 ├ 来访网站统计 ├ 来访页面统计 ├ 搜索关键字统计 ├ 受访页面...
一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码...
支持按照时间曲线统计流量、在线用户数、并发会话、 DDL操作数、DML操作数、 执行量取多的SQL语句等报表。 11 日志数据管 理 审计数据保留策略应至少满足天数和百分比两个控制参数,且支持 web界面可配 置,且恢复...
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3个部分,深入浅出地...
轻量级反垃圾邮件过滤器,无需统计内容分析。 安全且自组织的 IMAP。 带有 TLS 和邮件自组织过滤器的 Dovecot。 对于添加到电子邮件地址的每个列表或标签(pirate + tag @ elaine),都会创建一个新托盘。 网络...
MyScreen包括GNU / Screen窗口管理器的配置,以及系统状态通知和一些统计信息。屏幕截图跑步 \开始为什么要使用MyScreen MyScreen具有与GNU / Screen相同的优势。 例如,如果没有X或使用ssh,则可以通过一个屏幕...
Hadoop简介1.1 为什么写《Hadoop 实战》1.2 什么是Hadoop1.3 了解分布式系统和Hadoop1.4 比较SQL 数据库和Hadoop1.5 理解MapReduce1.5.1 动手扩展一个简单程序1.5.2 相同程序在MapReduce中的扩展1.6 用Hadoop统计...
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...