怎么用Java在Web页面上输出统计图
这篇文章主要介绍“怎么用Java在Web页面上输出统计图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷怎么用Java在Web页面上输出统计图,实用性强,希望这篇“怎么用Java在Web页面上输出统计图”文章能帮助大家解决问题。
在Inte.NET 和 的应用中怎么用Java在Web页面上输出统计图,数据库和Web 技术的结合是传统MIS 系统移植到() 环境的关键, 已有不少厂商推出了各自的产品,但这些产品基本上是实现数据的html 格式输出。在实际应用中,我们经常需要把数据以统计图的形式表现出来,例如股票行情曲线图的输出。传统的方法是把统计图作为一个图形文件放到Web 服务器的目录中。这种做法虽然简单,但有明显的局限性:一是图形文件要占用较大存储空间;二是难以适应灵活复杂的查询要求;三是图形文件随数据库的变化而更新,加重了服务器的负担,也容易造成图形和数据库的不一致。
显然,要实现上述要求,需要两个关键环节:一是从数据库中读出数据;二是根据读出的数据在Web 页面中绘图。我们采用JdbC 访问数据库,在Web 页面中绘图则使用Java.awt 包中提供的 类实现。
为便于表述,建立数据表如下:
项 目
指 标
水 产 养 殖
60
工 程 管 理
89
抗 旱 防 汛
100
财 务
200
办 公 室
350
勘 测 设 计
80
我们的目标就是把上表用统计图表现出来(本文用水平柱状图)。本文中所指数据库均为如上形式的表,其字段1 为字符形字段,表示项目信息;字段2 为数值形字段(用浮点形读出),表示指标数。实际应用中,对程序稍作修改,就可使其更加灵活通用。
为了绘制各种形式的图表java生成统计图,先定义一个Graph 抽象类(注意不是):
java.sql. *;
java.awt. *;
class Graph{
int ,width; // 绘图区域的高和宽
int =50,row=0;
// 可容纳的最大记录数和实有记录数
Color color=new Color(50,50,200); // 默认绘图颜色
float scale; // 比例尺
name; // 项目名缓冲区
float
value; // 指标值缓冲区
Graph( d,int ,Color ){
=d.;
width=d.width;
name=new
value=new float
color=;
void ( )
{ // 把查询结果读入缓冲区
try{
row=0;
while(.next() &&
row
=.(1);
value
row
=.(2);
row + +;
catch( ex){
.out.(“n !” +ex.()); }

// 绘制统计图的抽象方法, 在子类中实现
在这个类中java生成统计图,定义了图表的一般特性,如颜色、比例尺、记录缓冲区等,并实现了把查询结果置入缓冲区的 方法。因为各种图表的绘制方法完全不同,故把draw 方法定义为抽象方法,有待其子类实现。
限于篇幅,本文仅介绍实现绘制水平柱状图的子类, 其主要功能是实现draw 方法。其他子类与其类似。
java.sql.*;
java.awt.*;
class Graph{
float =0;
//柱间空白在柱宽度(含柱间空白)
中所占比例,0 }
void draw( g){
=g.();
try{
Color =new Color(255,255,255);
g.();
g.(0,0,width,); //填充背景色
g.(color);
int =0;
float =0;
for (int i=0;)
=.(name
);
if (value
>)
=value
=+10;//
=.()+10;
int =.();
int step=();
//计算x坐标刻度单位
scale=(width-)/;
=(-)/row;
g.(-1,0,width-,
-); //绘出图形外框
for(int i=1;i*){
mo=mo*10;
st=(int)(value/10)/mo;
(st+1)*mo;
对数据库的查询在 主类中用 方法实现:
( dStr, )
/ * 根据给定的数据源和
sql 查询语句读取数据库*/ {……}

在 主类的paint() 方法中,调用类 的draw 方法,即可实现统计图的输出。为把查询结果保存在 的数据缓冲区中供paint() 方法多次使用,需要把一个 对象定义为 主类的成员。在 主类的init() 方法中,对 对象初始化java生成统计图,并完成JDBC 驱动程序注册。在 主类的start() 方法中,连接数据库,执行查询,并把查询结果存放到 对象的数据缓冲区中。这样, 在每次回到包含该 的页面时, 都要重新查询数据库, 保证用户阅读到数据库的最新信息。
下面是 主类代码:
java..;
java.sql. *;
java.awt. *;
class {
void init() {
try{
Color color=new Color(20,20,230);
Class.(“sun.jdbc.odbc.”);
// 注册驱动程序
=new (size(),30,color,0.3f);
// 初始化 对象
catch( e){
.out.(“n” +“init error” +e.());
void start(){
try{
rs;
=” Files”;
=” *FROM TEST”;
rs=(,);
// 从数据库中提取数据
.(rs);
// 把查询结果发送给
rs.close();
catch( e){
.out.(“n” +“start error”
+e.());
void paint( g){
.draw(g);
// 调用 的draw 方法绘制柱状统计图
( dStr, )
{
/ *根据给定的数据源和sql
查询语句读取数据库*/
=dStr;
con1=.
(“jdbc:odbc:” +); // 连接数据库
stmt1=con1.();
stmt1.();// 执行查询
关于“怎么用Java在Web页面上输出统计图”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » 怎么用Java在Web页面上输出统计图
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

