Jsp+Servlet+Echarts实现动态数据可视化

Jsp+Servlet+Echarts实现动态数据可视化

1.前言

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

而在实际开发中使用的往往会要求从服务器端取数据进行动态显示,一般来说数据请求过程如下:
1.客户端通过ajax发送请求;
2.服务器端Servlet接收请求;
3.生成json数据并返回给客户端;
4.客户端接收数据后显示。


现在就以Jsp+Servlet+Echarts为例来实现动态数据可视化,做个学习记录。

2.实践过程

**1.客户端通过ajax发送请求** 打开eclipse,新建一个web项目,新建一个jsp文件, 在jsp中先绘制一个最简单的Echarts图表,在option中的xAxis和yAxis里的data都是空值。待会儿我们会用从服务器取回的数据去”填满“它。

zout.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>echarts测试</title>
<!-- 1.引入 echarts.js -->
<script type="text/javascript" src="echarts/echarts.js"></script>
<!-- 引入jquery.js -->
<script type="text/javascript" src="jquery/jquery-1.11.3.js"></script>
</head>
<body style="margin: 5% 26% 0% 29%;">
	<div style="text-align: center;">
		<h2>欢迎访问jsp+servlet+echarts动态网页</h2>
		<h3>作者:柒晓白</h3>
		<h3>时间:2018/7/13</h3>
	</div>
	<!-- 2.为ECharts准备一个具备大小(宽高)的Dom -->
	<div id="main"
SSM是指Spring+SpringMVC+MyBatis三个框架的整合,而Echarts是一款非常流行的数据可视化库,可以将数据转化为可视化的图表展示。 要实现SSM整合Echarts,需要以下步骤: 1. 引入Echarts的相关依赖,可以在Maven中添加以下依赖: ``` <dependency> <groupId>com.github.abel533</groupId> <artifactId>echarts</artifactId> <version>4.8.0-rc1</version> </dependency> ``` 2. 在SpringMVC中配置Echarts的视图解析器,可以在springmvc-servlet.xml中添加以下配置: ``` <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="com.github.abel533.echarts.view.EchartsView"/> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> ``` 3. 在Controller中处理数据,并将数据传递给Echarts视图解析器,例如: ``` @RequestMapping("/echarts") public ModelAndView echarts() { List<Map<String, Object>> data = new ArrayList<>(); Map<String, Object> map1 = new HashMap<>(); map1.put("name", "数据1"); map1.put("value", 100); data.add(map1); Map<String, Object> map2 = new HashMap<>(); map2.put("name", "数据2"); map2.put("value", 200); data.add(map2); ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("data", data); modelAndView.setViewName("echarts"); return modelAndView; } ``` 4. 在JSP中使用Echarts标签库生成图表,例如: ``` <%@ taglib prefix="echarts" uri="http://echarts.baidu.com/echarts2/doc/option.html" %> <html> <head> <title>Echarts Demo</title> <script type="text/javascript" src="${pageContext.request.contextPath}/js/echarts.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> <echarts:line id="main" title="数据展示" width="600" height="400" theme="macarons"> <echarts:tooltip show="true"/> <echarts:legend data="['数据1','数据2']"/> <echarts:xAxis type="category" data="['周一','周二','周三','周四','周五','周六','周日']"/> <echarts:yAxis type="value"/> <echarts:series name="数据1" type="bar" data="${data}"/> <echarts:series name="数据2" type="bar" data="${data}"/> </echarts:line> </body> </html> ``` 以上就是SSM整合Echarts实现数据可视化的基本步骤。需要注意的是,在实际应用中,需要根据具体需求调整配置和代码实现
评论 161
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖一点雨

原创不易,鼓励鼓励~~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值