java实现高并发首页访问量(附源码下载地址)
来源:互联网 发布:ipad软件 编辑:程序博客网 时间:2024/04/18 19:00
这个参考了csdn一个首页访问量的demo,在这个基础上进行了些并发修改,框架采用了spring,数据库sqlserver,当然任何数据库都可以,记得把包自己加进去,我这只有sqlserver和mysql的,oracle的自己加个包就行。
核心代码,很简单,Commons.count方法是得到一个静态的list,为了防止高并发下内存溢出,没有采集按照时间来提交,而采取的是访问5次commit,当然是为了测试方便,这个按照需求来。用ajax进行回调,先加载的首页,不影响首页的相应速度。
测试用的jmeter,并发线程1万访问还是可以的,并发1千相当轻松。
//保存当前访问记录 5条commit一次 try { synchronized(Commons.count){ Commons.count.add(logBean); if(Commons.count.size()==5){ logService.saveCommons(Commons.count); Commons.count.clear(); } } //logService.saveLog(logBean); //这个是单个保存 } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage()); }
jsp
<%@ page language="java" contentType="text/html;" pageEncoding="utf-8" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>index count</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script language="javascript" src="jquery-2.1.4.min.js"></script> </head> <body> <div>这是个首页</div> <br> <br> <div id="count"> </div> </body> <script type="text/javascript"> $(function(){ $.ajax( { url:'<%=basePath%>mst/CountServlet',// 跳转到 action traditional: true, type:'post', success: function(data){ var json=JSON.parse(data); $("#count").append(" <h4>本首页访问量为"+json.counts+"人次</h4>"); } }); }) </script></html>
web.xml设置filter,我设置的这个过滤器只过滤首页的,根据需求可以定义需要过滤的页面。
<filter> <filter-name>logFilter</filter-name> <filter-class>com.filter.LogFilter</filter-class> </filter> <filter-mapping> <filter-name>logFilter</filter-name> <url-pattern>/index.jsp</url-pattern> </filter-mapping> <!-- ajax 统计首页访问量--> <servlet> <servlet-name>CountServlet</servlet-name> <servlet-class>com.service.impl.Count</servlet-class> </servlet> <servlet-mapping> <servlet-name>CountServlet</servlet-name> <url-pattern>/mst/CountServlet</url-pattern> </servlet-mapping>
下载的链接如下,其实上面核心都说明了,其实这个demo可扩展性很大,我是懒的弄了。并且除了自己实现,还可以用直接调用像百度统计这样的接口。
下载请点这里
为了防止下载链接问题我直接贴
http://download.csdn.net/detail/ilovexiaou/9619002
0 0
- java实现高并发首页访问量(附源码下载地址)
- java浏览器文件下载实例(附源码下载地址)
- C#开发的高性能EXCEL导入、导出工具DataPie(支持MSSQL、ORACLE、ACCESS,附源码下载地址)
- JAVA中高访问量高并发的问题的一部分解决方案
- Google首页现代舞先驱玛莎·葛兰姆JS代码分析(附源码下载)
- 一篇大访问量,高并发
- Java源码地址下载
- Java源码下载地址
- Android高仿QQ及微信底部菜单的多种实现方式【附源码地址】
- 【附源码地址】Android高仿QQ及微信底部菜单的多种实现方式
- Java 编程学习书籍推荐(附下载地址)
- Java+Editplus配置方法详解(附下载地址)
- Java五子棋的实现(附源码)
- 高并发高访问量网站的优化
- 高并发高访问量网站的优化
- 高并发高访问量网站的优化
- SpringMVC+BUI实现文件上传(附详解,源码下载)
- Android中AIDL实现进程通信(附源码下载)
- 链表的各种操作
- leetcode:bits:Single Number III(260)
- 查看linux使用率
- MEMCACHED源码之main初始化
- 离线人脸识别SDK
- java实现高并发首页访问量(附源码下载地址)
- JNI的基本语法
- 无法获得VMCI驱动程序的版本
- 深入探究文件I/O
- Android判断设备网络连接状态,并判断连接方式
- linux学习之计算机基础(一)
- 在高并发的情况下小小的日志打印会严重影响到性能。
- akka actor监控(monitoring)
- 工作