Java开发的流量分析系统

article/2025/9/21 3:54:23

Java开发的流量分析系统

一,此系统是网上搜的潭州学院的Tony老师的视频学习的,用于实时分析一个网站的访问量的简单的例子,主要功能是用户登录,展示在线人数以及信息。其中细致的讲解了单例模式,Vector集合的应用,以及web网站如何在外网上发布。

1,单利模式(来自百度百科):单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。

单例模式的特点从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有对象,三是该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。
此项目中与单利模式相关的代码:

public class UserList {//List下的实现类,线程安全,装载用户登录的容器private Vector<String> vector;//自己创建自己的唯一实例private final static UserList userlist=new UserList();//提供私有的无参构造函数private UserList(){vector=new Vector<String>();}/*** 对外提供访问的入口*/public static UserList getInstance(){return userlist;}

2,Vector集合对象(来自百度百科):Vector 类在 java 中可以实现自动增长的对象数组; vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

在相对于ArrayList来说,Vector线程是安全的,也就是说是同步的
创建了一个向量类的对象后,可以往其中随意地插入不同的类的对象,既不需顾及类型也不需预先选定向量的容量,并可方便地进行查找。对于预先不知或不愿预先定义数组大小,并需频繁进行查找、插入和删除工作的情况,可以考虑使用向量类。
3,具体项目实现:
(1),创建单例类UserList,并创建私有构造函数,唯一实例对象,以及外界访问的接口,重写相关方法。

package com.smf.util;import java.util.Vector;/*** 装载用户的容器* @author SMF* @Version 1.0*2017-2-23**单例模式:是指一个类只有一个实例的模式*单例模式的特点:*1,单例类只能有一个实例*2,单利泪必须自己创建自己的唯一实例*3,单利必须给所有其他对象提供这一实例**/
public class UserList {//List下的实现类,线程安全,装载用户登录的容器private Vector<String> vector;//自己创建自己的唯一实例private final static UserList userlist=new UserList();//提供私有的无参构造函数private UserList(){vector=new Vector<String>();}/*** 对外提供访问的入口*/public static UserList getInstance(){return userlist;}/*** 向集合中添加用户* @param name 登陆进来的用户名*/public void addUser(String name){if (name!=null)vector.add(name);}/*** 推出后在容器中删除用户* @param name 退出的用户名*/public void removeUser(String name){if(name!=null)vector.remove(name);}/*** 统计用户列表* @return 用户列表*/public Vector<String> getUserList(){return vector;}/*** 获得用户的数量* @return 用户的数量*/public int getUserCount(){return vector.size();}
}

(2),创建User类为用户访问对象,并实现HttpSessionBindListenser接口,重写valueBond和valueOnbond方法实现对用户访问的监听。

package com.smf.util;import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;/*** 用户对象* @author Administrator* @version 1.0* 2017-2-23* 实现了HttpSessionBindingListener接口,就会把user对象绑定到session中,* 或者从session中把user移除掉*/
public class User implements HttpSessionBindingListener{private String name;//用户名//得到UserList实例private UserList ul=UserList.getInstance();public User(String name){super();this.name=name;}public String getName() {return name;}public void setName(String name) {this.name = name;}public UserList getUl() {return ul;}public void setUl(UserList ul) {this.ul = ul;}/*** 用户登录---User--Session(将User 绑定到Session)-自动调用valueBond*/@Overridepublic void valueBound(HttpSessionBindingEvent event) {// TODO Auto-generated method stubul.addUser(name);   }/*** 用户退出---User--Session(将User 绑定到Session)-自动调用valueBond*/@Overridepublic void valueUnbound(HttpSessionBindingEvent event) {// TODO Auto-generated method stubul.removeUser(name);}
}

(3),建立用户登录页面Login.jsp和用户在线人数情况展示页面UserList.jsp并利用简单的jsp中加入java代码实现展示功能。exit.jsp用于用户退出登陆。
这里写图片描述
这里写图片描述
这里写图片描述


http://chatgpt.dhexx.cn/article/AowwZUCH.shtml

相关文章

大数据实战:用户流量分析系统

--------------------------------------------------------------------------------------------------------------- [版权申明&#xff1a;本文系作者原创&#xff0c;转载请注明出处] 文章出处&#xff1a;http://blog.csdn.net/sdksdk0/article/details/51628874 作者&am…

大数据离线---网站日志流量分析系统(1)---简介及框架

本次介绍网站日志流量分析系统&#xff0c;首先是简介和架构。后面会对架构中需要的每个模块的进行逐个介绍。本篇主要分为两个部分 网站日志流量分析系统简介整体技术流程和架构 1. 网站日志流量分析系统简介 1.1点击流数据模型 点击流的概念 点击流&#xff08; Click St…

大数据流量分析系统

大数据流量分析系统 前几天去了移动营业厅办了个卡&#xff0c;就不说某动的内幕了&#xff0c;说说上行流量和下行流量统计手机号码的总流量。这次我们利用大数据来分析&#xff0c;大数据也有三大框架&#xff0c;Hadoop是离线计算框架&#xff0c;Storm是实时计算框架&…

使用流量分析系统进行资产梳理

很多网络管理人员都接触资产梳理&#xff0c;也有很多软件和系统附带资产梳理工具&#xff0c;但是根据明辰智航统计&#xff0c;很多企事业单位资产梳理工作是以前进行的&#xff0c;没有及时更新。网络管理人员甚至不了解企业网络中有多少个MAC地址、IP地址、端口、协议、应用…

网络异常流量分析系统设计

为什么要监测分析异常流量&#xff1f; 网络管理人员都希望在网络性能突然下降的时候找到“真凶”所在&#xff0c;并迅速解决问题。利用网络异常流量监测的方法&#xff0c;可以非常直观地看到网络流量是否有突然增长或者突然下降的现象&#xff0c;并进一步分析是那些用户产…

国内首个开源网络流量可视化分析平台 -- 流影

流影:基于流量的网络行为高级分析平台 流影是一款基于全流量的高级网络行为分析平台,该系统是由深海鱼(北京)科技有限公司流影项目组研发设计,首发开源是1.0版本。 项目简介 深海鱼(北京)科技有限公司专注于为客户提供优质的数据分析相关服务,近年来立足于客户的数字安…

大数据综合项目--网站流量日志数据分析系统(详细步骤和代码)

文章目录 前言&#xff1a;基本概述Sqoop概述什么是Sqoop Flume概述什么是Flume为什么需要flume HIve概述什么是Hive 系统背景&#xff1a;模块开发数据采集使用Flume搭建日志采集系统 数据预处理实现数据预处理 数据仓库开发数据导出日志分析系统报表展示 前言&#xff1a; 提…

实战演习(四)——网络流量系统分析简介

笔者是一个痴迷于挖掘数据中的价值的学习人&#xff0c;希望在平日的工作学习中&#xff0c;挖掘数据的价值&#xff0c;找寻数据的秘密&#xff0c;笔者认为&#xff0c;数据的价值不仅仅只体现在企业中&#xff0c;个人也可以体会到数据的魅力&#xff0c;用技术力量探索行为…

网络流量在线分析系统的设计与实现

编译环境&#xff1a;visual studio2019&#xff0c;安装并配置winpcap和pthreads库函数 1 配置环境 1.1 安装vscode 参考微信公众号 软件安装管家。 1.2 安装MinGW-w64 下载地址&#xff1a;添加链接描述 安装参考博客&#xff1a;MinGW-w64安装配置全过程 第一步&#xf…

时间范围查询

开发工具与关键技术&#xff1a; VS,条件查询 作者&#xff1a;卢惠圳 撰写时间&#xff1a;2019年8月16日 在页面的表格数据中会有要根据时间来作为查询条件的数据&#xff0c;一般是根据时间范围来进行查询所以这里也是时间范围的查询&#xff0c;先将表格和进行时间范围查询…

oracle语句查询时间范围

oracle语句查询时间范围 参考网址 &#xff1a; https://blog.csdn.net/weixin_36436373/article/details/116541220?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167930069316800188562500%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%25…

VUE时间范围选择的组件

最近手写了一个框选时间的组件,可以按半个小时为单位选择时间 代码部分 <template><div><div class"byted-schedule"><table :key"itemKey" class"byted-schedule-calendar-table"><thead><tr><th rows…

Mysql获取指定时间范围数据

MySQL获取某个时间范围内的数据 TO_DAYS(date)函数。 to_days()&#xff1a;返回从0000年至当前日期的总天数。 目录 1、今天(TO_DAYS()) 2、今天昨天(TO_DAYS()) 3.近7天(DATE_SUB()) 5.本月(DATE_FORMAT()) 6.上一月(PERIOD_DIFF()) 7.本季度 8.上季度 9.本年 ​1…

Mybatis-Plus时间范围查询

方式一 通过apply方法&#xff0c;来实现时间范围查询&#xff0c;该方法可用于数据库函数&#xff0c;动态入参的params对应前面applySql内部的{index}部分&#xff0c;这样是不会有sql注入风险的&#xff0c;反之会有! apply(String applySql, Object... params) apply(boo…

elementui DateTimePicker组件 限制时间范围(包含时分秒)

1、基础范围控制&#xff08;只控制日期&#xff0c;不含时分秒&#xff09; <template><el-date-pickertype"datetime"v-model"startDate"value-format"yyyy-MM-dd HH:mm:ss"placeholder"选择开始时间"size"mini"…

MongoDB查询某个时间范围

MongoDB 时间范围查询目前有两种方式&#xff1a; DateISODate MongoDB条件对应关系 (>) 大于 - $gt(<) 小于 - $lt(>) 大于等于 - $gte(< ) 小于等于 - $lte Date方式 例如查询时间段为2023.01.03<日期<2023.01.05可翻译为&#xff1a; "日期字段名&…

移动端时间范围选择

div模块 <div className"choseDate"><div className"range"><input classNamestartTime onClick{()>{this.setState({startVisible:true})}} placeholder"请选择开始日期" value{this.state.startTime} /><DatePickert…

sql查询时间范围数据

mapper.xml >查询一定时间范围 条件:年月日 时分秒 <if test"creatAt ! null and creatAt ! "><![CDATA[and DATE_FORMAT(ride_order.created_at, %Y-%m-%d %h-%m-%s)> DATE_FORMAT(#{creatAt}, %Y-%m-%d %h-%m-%s) ]]></if><if test&qu…

JAVA判断当前时间在时间范围内

我们在日常开发的时候肯定有围绕时间选择的一些功能, 今天给大家分享一个java如何判断当前时间是否在所选择时间范围内的一个小demo public static void main(String[] args) throws ParseException {SimpleDateFormat ft new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss&q…

JavaScript 时间范围

当前时间往前的时间范围&#xff08;六个月之前&#xff09; 效果图 js文件代码片 /*查询日期区间&#xff08;当前时间往前&#xff09; Add By Vivian 2020/12/04 */ //rangeVal:两个日期的间隔符 num&#xff1a;隔多少 timeType&#xff1a;相隔时间类型 function funGet…