91 网站点击流数据分析案例(数据展示)
2023-09-11 14:15:40 时间
在企业的数据分析系统中,前端展现工具有很多
-
独立部署专门系统的方式:以
Business Objects(BO,Crystal Report),Heperion(Brio),Cognos
等国外产品为代表的,它们的服务器是单独部署的,与应用程序之间通过某种协议沟通信息。 -
有WEB程序展现方式:通过独立的或者嵌入式的
java web
系统来读取报表统计结果,以网页的形式对结果进行展现,如,100%纯Java的润乾报表。
本日志分析项目采用自己开发web程序展现的方式
- Web展现程序采用的技术框架:
Jquery + Echarts + springmvc + spring + mybatis + mysql
- 展现的流程:
1.使用ssh
从mysql
中读取要展现的数据
2.使用json
格式将读取到的数据返回给页面
3.在页面上用echarts
对json
解析并形成图标
Web程序工程结构
采用maven管理工程,引入SSH框架依赖及jquery+echarts的js库
Web程序的实现代码
采用典型的MVC架构实现
页面 | HTML + JQUERY + ECHARTS |
---|---|
Controller | SpringMVC |
Service | Service |
DAO | Mybatis |
数据库 | Mysql |
代码示例:ChartServiceImpl
@Service("chartService")
public class ChartServiceImpl implements IChartService {
@Autowired
IEchartsDao iEchartsDao;
public EchartsData getChartsData() {
List<Integer> xAxiesList = iEchartsDao.getXAxiesList("");
List<Integer> pointsDataList = iEchartsDao.getPointsDataList("");
EchartsData data = new EchartsData();
ToolBox toolBox = EchartsOptionUtil.getToolBox();
Serie serie = EchartsOptionUtil.getSerie(pointsDataList);
ArrayList<Serie> series = new ArrayList<Serie>();
series.add(serie);
List<XAxi> xAxis = EchartsOptionUtil.getXAxis(xAxiesList);
List<YAxi> yAxis = EchartsOptionUtil.getYAxis();
HashMap<String, String> title = new HashMap<String, String>();
title.put("text", "pvs");
title.put("subtext", "超级pvs");
HashMap<String, String> tooltip = new HashMap<String, String>();
tooltip.put("trigger", "axis");
HashMap<String, String[]> legend = new HashMap<String, String[]>();
legend.put("data", new String[]{"pv统计"});
data.setTitle(title);
data.setTooltip(tooltip);
data.setLegend(legend);
data.setToolbox(toolBox);
data.setCalculable(true);
data.setxAxis(xAxis);
data.setyAxis(yAxis);
data.setSeries(series);
return data;
}
public List<HashMap<String, Integer>> getGaiKuangList(String date) throws ParseException{
HashMap<String, Integer> gaiKuangToday = iEchartsDao.getGaiKuang(date);
SimpleDateFormat sf = new SimpleDateFormat("MMdd");
Date parse = sf.parse(date);
Calendar calendar = Calendar.getInstance();
calendar.setTime(parse);
calendar.add(Calendar.DAY_OF_MONTH, -1);
Date before = calendar.getTime();
String beforeString = sf.format(before);
System.out.println(beforeString);
HashMap<String, Integer> gaiKuangBefore = iEchartsDao.getGaiKuang(beforeString);
ArrayList<HashMap<String, Integer>> gaiKuangList = new ArrayList<HashMap<String, Integer>>();
gaiKuangList.add(gaiKuangToday);
gaiKuangList.add(gaiKuangBefore);
return gaiKuangList;
}
public static void main(String[] args) {
ChartServiceImpl chartServiceImpl = new ChartServiceImpl();
EchartsData chartsData = chartServiceImpl.getChartsData();
Gson gson = new Gson();
String json = gson.toJson(chartsData);
System.out.println(json);
}
}
Web程序的展现效果
1.网站概况
2.流量分析
3.来源分析
4.访客分析
相关文章
- Mybatis+MySQL动态分页查询数据经典案例
- Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
- Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
- SSRS Reports 2008性能优化案例
- 各类安全案例
- 产品运营数据分析—SPSS数据分组案例
- golang gin数据绑定综合案例:实现用户注册相关数据绑定
- 【玩转数据系列一】人口普查统计案例
- vue品牌列表案例demo
- javascript案例7——简易轮播图、2秒切换图片
- Math之ARIMA:基于statsmodels库利用ARIMA算法对太阳黑子年数据(来自美国国家海洋和大气管理局)实现回归预测(ADF检验+LB检验+DW检验+ACF/PACF图)案例
- Linux之Ubuntu:Ubuntu中常使用的快捷键命令(sudo/dpkg等文件处理相关/系统硬件相关/文件管理/文档编辑/磁盘管理/系统管理/备份压缩)、常用基础案例(图文教程)之详细攻略
- XAI之ALE:基于titanic泰坦尼克数据集对RF算法利用ALE累积局部效应图可视化算法进而实现模型可解释性案例
- ML之CB:基于自定义电影数据集利用CB基于内容推荐算法(多个指标基于同种相似度加权得分)实现电影Top5推荐案例
- Python之pandas:特征工程中数据类型(object/category/bool/int32/int64/float64)的简介、数据类型转换四大方法、案例应用之详细攻略
- ML之KG:基于自定义电影矩阵+知识图谱矩阵数据集利用基于知识图谱的推荐算法(基于匹配的相似度的方法)实现对用户进行Top电影推荐案例
- ML之KG:基于MovieLens电影评分数据集利用基于知识图谱的推荐算法(networkx+基于路径相似度的方法)实现对用户进行Top电影推荐案例
- Py之IPython:IPython库中的display函数的简介、使用方法、应用案例之详细攻略
- Dataset之AllstateClaimsSeverity:AllstateClaimsSeverity数据集(Kaggle2016竞赛)的简介、下载、案例应用之详细攻略
- 〖Python接口自动化测试实战篇⑩〗- 测试框架 unittest 的小实战案例
- python案例:股民福利,采集股票数据~
- 40个案例教你用 Python 轻松玩转数据可视化
- 【数据挖掘】1、综述:背景、数据的特征、数据挖掘的六大应用方向、有趣的案例
- 数据分析案例-数据可视化
- RobotFrameWork - 13 - Selenium API - 案例设计之数据分层思想
- Docker数据volume配置详解及案例应用(四)