仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 756|回复: 10
打印 上一主题 下一主题

[学习教程] JAVA网页编程之JSP挪用Java Bean在网页上静态天生柱状...

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:29:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?js|静态|网页|柱状图我们常常要在网页看到一些静态更新的图片,最多见的莫过于股票的K线图,本文试图经由过程一个复杂的实例,向人人展现怎样经由过程JSP挪用JavaBean在网页上静态天生柱状图.

背景:自己比来在为某统计局开辟项目时,触及到在网页上静态天生图片的成绩,费了一天的工夫,终究弄定,为匡助人人在今后碰到一样的成绩时不走弯路,现将计划头脑及源代码发布出来,与人人共勉.以下代码在Windows2000乐成测试经由过程,Web使用服务器接纳Allaire公司的Jrun3.0,若有疑问,敬请接洽作者:cuigy2000@263.net

第一步:创立一个JavaBean用来天生jpg文件
源程序以下:

//天生图片的JavaBean
//作者:崔冠宇
//日期:2001-08-24
importjava.io.*;
importjava.util.*;
importcom.sun.image.codec.jpeg.*;
importjava.awt.image.*;
importjava.awt.*;

publicclassChartGraphics{
BufferedImageimage;
publicvoidcreateImage(StringfileLocation){
try{
FileOutputStreamfos=newFileOutputStream(fileLocation);
BufferedOutputStreambos=newBufferedOutputStream(fos);
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(bos);
encoder.encode(image);
bos.close();
}catch(Exceptione){
System.out.println(e);
}
}

publicvoidgraphicsGeneration(inth1,inth2,inth3,inth4,inth5){

finalintX=10;
intimageWidth=300;//图片的宽度
intimageHeight=300;//图片的高度
intcolumnWidth=30;//柱的宽度
intcolumnHeight=200;//柱的最年夜高度

ChartGraphicschartGraphics=newChartGraphics();
chartGraphics.image=newBufferedImage(imageWidth,imageHeight,BufferedImage.TYPE_INT_RGB);
Graphicsgraphics=chartGraphics.image.getGraphics();
graphics.setColor(Color.white);
graphics.fillRect(0,0,imageWidth,imageHeight);
graphics.setColor(Color.red);
graphics.drawRect(X+1*columnWidth,columnHeight-h1,columnWidth,h1);
graphics.drawRect(X+2*columnWidth,columnHeight-h2,columnWidth,h2);
graphics.drawRect(X+3*columnWidth,columnHeight-h3,columnWidth,h3);
graphics.drawRect(X+4*columnWidth,columnHeight-h4,columnWidth,h4);
graphics.drawRect(X+5*columnWidth,columnHeight-h5,columnWidth,h5);
chartGraphics.createImage("D:        empchart.jpg");
}
}

注释:createImage(StringfileLocation)办法用于创立JPG图片,参数fileLocation为文件路径

graphicsGeneration(inth1,inth2,inth3,inth4,inth5)办法用于绘出图片的内容,参数h1……h5为每个长方形的高度

第二步:创立另外一个JavaBean从文本文件中读取数据(每个长方形的高度),在实践使用中数据存储在Oracle数据库中

源程序以下:

//读取Text文件中数据的JavaBean
//作者:崔冠宇
//日期:2001-08-24
importjava.io.*;
publicclassGetData{
intheightArray[]=newint[5];
publicint[]getHightArray(){
try{
RandomAccessFilerandomAccessFile=newRandomAccessFile("d:        empColumnHeightArray.txt","r");
for(inti=0;i<5;i++)
{
heightArray[i]=Integer.parseInt(randomAccessFile.readLine());
}
}
catch(Exceptione){
System.out.println(e);
}
returnheightArray;
}
}

注释:getHightArray()用于从文本中读取数据,将文本中的String范例转换为int范例,并以数组范例前往.

第三步:创立JSP文件

源程序以下:
<%@pageimport="ChartGraphics"%>
<%@pageimport="GetData"%>
<jsp:useBeanid="cg"class="ChartGraphics"/>
<jsp:useBeanid="gd"class="GetData"/>
<%!
intheight[]=newint[5];
%>
<%
height=gd.getHightArray();
cg.graphicsGeneration(height[0],height[1],height[2],height[3],height[4]);
%>
<html>
<body>
<imgsrc=http://www.163design.net/j/f/"d:/temp/chart.jpg"></img>
</body>
</html>


注释:JSP起首挪用Bean(GetData..class)读取文件中的数据,再挪用Bean(ChartGraphics.class)天生图片,最初显现图片

停止语:因为文本(ColumnHeightArray.txt)中的数据能够随时变更,因而天生的图片中的5个长方形的高度是随之变更的,从而完成了图片的静态天生.该计划头脑还能够用于制造网站的投票体系.

到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。
爱飞 该用户已被删除
沙发
发表于 2015-1-18 20:49:28 | 只看该作者
[url]http://www.ckuyun.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://www.ckuyun.com[/url]去下,安装上有什么问题,可以到论坛上去提问。
活着的死人 该用户已被删除
板凳
发表于 2015-1-23 13:13:04 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
蒙在股里 该用户已被删除
地板
发表于 2015-1-25 15:27:06 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
谁可相欹 该用户已被删除
5#
发表于 2015-2-2 22:35:26 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
变相怪杰 该用户已被删除
6#
发表于 2015-2-8 17:10:41 | 只看该作者
是一种为 Internet发展的计算机语言
只想知道 该用户已被删除
7#
发表于 2015-2-18 21:37:40 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
简单生活 该用户已被删除
8#
发表于 2015-3-1 09:16:21 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
admin 该用户已被删除
9#
发表于 2015-3-4 18:10:46 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
第二个灵魂 该用户已被删除
10#
发表于 2015-3-11 07:11:30 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
莫相离 该用户已被删除
11#
发表于 2015-3-17 23:07:56 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 09:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表