在JAVAWEB项目中用JSP生成数据库数据曲线图
来源:互联网 发布:什么软件可以升级win10 编辑:程序博客网 时间:2024/06/17 16:41
简介
该项目是在后台调取数据库数据在DAO层进行处理,再把处理完的数据集合传到SERVICE层,之后JSP页面将SERVICE层的数据生成以时间为X轴,数量为Y轴的曲线图。 这是SERVICE层调取的数据。
这是JSP生成的页面曲线图。
配置信息
在此之前确保已经安装JAVA,Tomcat,MyEclipse,数据库并且全部配置完毕方进行下面的工作。举例:我用的是JAVA1.8,Tomcat9.0和MyEclipse2016以及mysql数据库。
前面工作做好后可以下载JFreeChart的jar包。[链接](http://www.jfree.org/jfreechart/download/ )
或者本文章最后提供的整个项目里已经包含了所需jar包可免费下载。
下载完成后解压,找到jcommon.jar和jfreechart.jar两个包导入目标工程!
接下来是配置用户变量和WEB.XML
1、在用户变量CLASSPATH里添加C:\ jfreechart-1.0.18\lib\ jfreechart-1.0.18.jar和C:\ jfreechart-1.0.18\lib\ jcommon-1.0.22.jar。(该配置转载自:易百教程 » JFreeChart安装)
注:本配置是在WINDOWS环境下配置,如其他系统请参考(http://www.yiibai.com/jfreechart/jfreechart_installation.html)
2、配置Web项目里的WEB.XML:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>bigdata</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>DisplayChart</servlet-name> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> </servlet> <servlet-mapping> <servlet-name>DisplayChart</servlet-name> <url-pattern>/DisplayChart</url-pattern> </servlet-mapping></web-app>
JSP程序
<%--下面的类文件是两个jar包导入 --%><%@page import="org.jfree.data.time.TimeSeriesCollection"%><%@page import="org.jfree.data.category.DefaultCategoryDataset"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.io.*" %><%@ page import="org.jfree.chart.ChartFactory" %><%@ page import="org.jfree.chart.JFreeChart" %><%@ page import="org.jfree.chart.plot.PlotOrientation" %><%@ page import="org.jfree.chart.ChartUtilities" %><%@ page import="org.jfree.chart.*" %><%@ page import="org.jfree.chart.title.*" %><%@ page import="org.jfree.chart.servlet.ServletUtilities" %><%@ page import="org.jfree.data.time.TimeSeries" %><%@ page import="org.jfree.data.time.TimeSeriesCollection" %><%@ page import="org.jfree.data.time.Day" %><%@ page import="org.jfree.data.xy.XYDataset" %><%@ page import="org.jfree.data.general.SeriesException" %><%@page import="java.util.List"%><%--下面的类文件是我自己做的项目的文件导入 --%><%@page import="cn.bigdata.entity.Data"%><%@page import="cn.bigdata.entity.Sale"%><%@page import="cn.bigdata.entity.Date"%><%@page import="cn.bigdata.database.dao.impl.DataDaoImpl"%><%@page import="cn.bigdata.database.dao.DataDao"%><%@page import="cn.bigdata.service.impl.BigdataServiceImpl"%><%@page import="cn.bigdata.service.BigdataService"%><<jsp:useBean id="bigdataService" class="cn.bigdata.service.impl.BigdataServiceImpl" scope="page"></jsp:useBean><!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>Insert title here</title></head><body><!-- 这些属于前端的界面设计,可忽略不计 --> <div class="container"> <div class="header"> <ul class="nav nav-pills pull-right" role="tablist"> <li role="presentation" ><a href="index.html">首页</a></li> </ul> <h3 class="text-muted">Big Data Platform</h3> </div><%--final TimeSeries series = new TimeSeries( "Random Data" ); Second current = new Second(); double value = 100.0; for ( int i = 0 ; i < 4000 ; i++ ) { try { value = value + Math.random( ) - 0.5; series.add( current , new Double( value ) ); current = ( Second ) current.next( ); } catch ( SeriesException e ) { System.err.println( "Error adding to series" ); } } final XYDataset dataset=( XYDataset )new TimeSeriesCollection(series); JFreeChart timechart = ChartFactory.createTimeSeriesChart( "Products Chart", "Date", "SaleNum", dataset, false, false, false); int width = 560; /* Width of the image */ int height = 370; /* Height of the image */ // File timeChart = new File( "TimeChart.jpeg" ); // ChartUtilities.saveChartAsJPEG( timeChart, timechart, width, height ); String filename=ServletUtilities.saveChartAsPNG(timechart, width, height, session); String graphURL=request.getContextPath()+"/DisplayChart?filename="+filename; --%> <!-- 下面就是曲线图生成过程 --><% DataDao dataDao=new DataDaoImpl(); bigdataService.setList(dataDao); List<Sale> saleList=bigdataService.getSaleList(); TimeSeriesCollection lineDataset =new TimeSeriesCollection(); TimeSeries timeSeries=new TimeSeries("Person",Day.class); int i=10; for(Sale sale:saleList){ int year=sale.getYear(); int month=sale.getMonth(); int day=sale.getDay(); timeSeries.add(new Day(day,month,year),sale.getSaleNum()); } lineDataset.addSeries(timeSeries); JFreeChart chart=ChartFactory.createTimeSeriesChart("saleNum", "date", "num", lineDataset, true, false, false); String filename=ServletUtilities.saveChartAsPNG(chart, 1000, 800, session); String graphURL=request.getContextPath()+"/DisplayChart?filename="+filename; %> <img src="<%=graphURL%>"></body></html>
实现的效果图如最上面的效果图,如需下载完整项目请点击:(http://download.csdn.net/detail/gaoxiang0522/9817699)
- 在JAVAWEB项目中用JSP生成数据库数据曲线图
- fio数据生成曲线图
- 在jsp中用jdbc连接数据库
- Jfreechart生成曲线图、数据点
- 在EA中用ER图生成数据库
- 在EA中用ER图生成数据库
- 在EA中用ER图生成数据库
- servlet处理数据库表中所有数据,在jsp页面表格中用jst forEach输出解决办法
- 在AcGIS中用大数据生成DEM
- Jfreechart关联数据库生成时间曲线图
- 在JSP中用JavaBeans、JDBC-ODBC访问数据库(转)
- 在JSP中用bean封装数据库常用的功能
- matlab中利用数据生成曲线图
- [JAVAWEB]2.在JSP中处理表单提交的数据
- Jsp中怎么把数据从数据库导出在页面直接生成html格式??
- 在项目中用java处理json格式的数据
- JavaWeb项目中数据库存入数据中乱码的解决方案
- Jfreechart生成曲线图数据点显示数据值
- WEB-INF目录与META-INF目录的作用
- ps 切图
- svn移动仓库数据并且账号不丢失的解决办法
- C++ 虚继承派生类构造函数的写法
- 【堆】堆排序
- 在JAVAWEB项目中用JSP生成数据库数据曲线图
- 文章标题
- Oracle数据库中计算时间差的常用表达式
- 12.Springboot 之 使用Scheduled做定时任务
- Mac下AndroidStudio中手动配置Gradle
- OpenCV: OpenCV人脸检测框可信度排序
- Feign和Hystrix异常熔断的理解
- bzoj2428 [HAOI2006]均分数据
- 编程必备数学知识汇总