知识大全 JSP调用JavaBean在网页动态生成柱状图

Posted

篇首语:不为外撼,不以物移,而后可以任天下之大事。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JSP调用JavaBean在网页动态生成柱状图相关的知识,希望对你有一定的参考价值。

JSP调用JavaBean在网页动态生成柱状图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  我们经常要在网页看到一些动态更新的图片 最常见的莫过于股票的K线图 本文试图通过一个简单的实例 向大家展示如何通过JSP 调用JavaBean在网页上动态生成柱状图     背景 本人最近在为某统计局开发项目时 涉及到在网页上动态生成图片的问题 费了一天的时间 终于搞定 为帮助大家在以后遇到同样的问题时不走弯路 现将设计思想及源代码公布出来 与大家共勉 以下代码在Windows 成功测试通过 Web应用服务器采用Allaire公司的Jrun     第一步 创建一个Java Bean用来生成jpg文件    源程序如下     //生成图片的 Java Bean  //作者:崔冠宇  //日期:   import java io *;  import java util *;  import dec jpeg *;  import java awt image *;  import java awt *;    public class ChartGraphics   BufferedImage image;  public void createImage(String fileLocation)   try   FileOutputStream fos = new FileOutputStream(fileLocation);  BufferedOutputStream bos = new BufferedOutputStream(fos);  JPEGImageEncoder encoder = JPEGCodec createJPEGEncoder(bos);  encoder encode(image);  bos close();   catch(Exception e)   System out println(e);        public void graphicsGeneration(int h int h int h int h int h )     final int X= ;  int imageWidth = ;//图片的宽度  int imageHeight = ;//图片的高度  int columnWidth= ;//柱的宽度  int columnHeight= ;//柱的最大高度    ChartGraphics chartGraphics = new ChartGraphics();  chartGraphics image = new BufferedImage(imageWidth imageHeight BufferedImage TYPE_INT_RGB);  Graphics graphics = chartGraphics image getGraphics();  graphics setColor(Color white);  graphics fillRect( imageWidth imageHeight);  graphics setColor(Color red);  graphics drawRect(X+ *columnWidth columnHeight h columnWidth h );  graphics drawRect(X+ *columnWidth columnHeight h columnWidth h );  graphics drawRect(X+ *columnWidth columnHeight h columnWidth h );  graphics drawRect(X+ *columnWidth columnHeight h columnWidth h );  graphics drawRect(X+ *columnWidth columnHeight h columnWidth h );  chartGraphics createImage( D:\\temp\\chart jpg );        解释 createImage(String fileLocation)方法用于创建JPG图片 参数fileLocation为文件路径    graphicsGeneration(int h int h int h int h int h )方法用于绘出图片的内容 参数h ……h 为每一个长方形的高度    第二步 创建另一个Java Bean从文本文件中读取数据(每一个长方形的高度) 在实际应用中数据存储在Oracle数据库中    源程序如下:    //读取Text文件中数据的 Java Bean  //作者:崔冠宇  //日期:   import java io *;  public class GetData   int heightArray[] = new int[ ];  public int[] getHightArray()   try   RandomAccessFile randomAccessFile = new RandomAccessFile   ( d:\\temp\\ColumnHeightArray txt r );  for (int i= ;i< ;i++)    heightArray[i] = Integer parseInt(randomAccessFile readLine());      catch(Exception e)   System out println(e);    return heightArray;        解释 getHightArray()用于从文本中读取数据 将文本中的String类型转换为int类型 并以数组类型返回     第三步 创建JSP文件    源程序如下     <%@ page import= ChartGraphics %>  <%@ page import= GetData %>  <jsp:useBean id= cg class= ChartGraphics />  <jsp:useBean id= gd class= GetData />  <%!  int height[]=new int[ ];  %>  <%  height=gd getHightArray();  cg graphicsGeneration(height[ ] height[ ] height[ ] height[ ] height[ ]);  %>  <>  <body>  <img src= d: empchart jpg ></img>  </body>  </>    解释:JSP首先调用Bean (GetData class)读取文件中的数据 再调用Bean(ChartGraphics class)生成图片 最后显示图片     结束语 由于文本(ColumnHeightArray txt)中的数据可以随时变化 因此生成的图片中的 个长方形的高度是随之变化的 从而实现了图片的动态生成 该设计思想还可以用于制作网站的投票系统 cha138/Article/program/Java/hx/201311/26207

相关参考