|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。servlet|技能 我们在处置数据时,偶然但愿能用图像直不雅的表述,在这里有一个巧办法,能便利快速的完成一些复杂的图形(不克不及称之图像),好比条形图,我们不用往用java来天生并显现图像,(java天生图像很慢),我们能够如许来作,先用作图工具作一个很小的你必要的图片,再依据你所处置的数据量来及时的加长它,就能够失掉所要表述的图例。好比我们在数据库中失掉了一组数据,我们从中找出最年夜的那一个,按比列设定其标签的长度,别的的数据图形则可与它比拟,失掉的长度,如许,一个简复杂单的条形图就出来。但偶然一些复杂的图形已不克不及办理我们实践碰到的情形,好比曲线图就不克不及用这类办法,这时候我们必要天生java图像,大概人人都用过applet如许的程序吧,若会见量不年夜,而及时性又很特别时(好比股票体系),必需如许用它。但现实上,我们web程序年夜多有前背景之分,前台扫瞄,背景保护。如许我们能够在背景用servlet及时静态准时地天生图像文件,而前台只是检察静态图片,这比你用applet来静态发生图像的速率快了不知几倍,由于applet来静态发生图像,有两个中央很费时,一是数据库查询工夫,二是applet自己天生图像就很慢。上面我以一个复杂的例子来讲明一下如何天生并写进图像文件,本例注意的是如何写进图像文件,信任写过applet的伴侣会天生加倍大度的图像。
packagetest;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.*;
importjava.util.*;
importjava.awt.image.BufferedImage;
importcom.sun.image.codec.jpeg.*;
importjava.awt.image.*;
importjava.awt.*;
publicclassServlet2extendsHttpServlet{
publicvoidinit(ServletConfigconfig)throwsServletException{
super.init(config);
}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
StringsFileName="e:/temp/name.jpg";
try{
FileOutputStreamfos=new
FileOutputStream(sFileName);
BufferedImagemyImage=newBufferedImage(225,225,BufferedImage.TYPE_INT_RGB);
Graphicsg=myImage.getGraphics();
g.setColor(Color.white);
g.fillRect(0,0,225,225);
g.setColor(Color.black);
g.drawString("FinanceBalanceSummary",40,15);
g.drawString("Primary",90,30);
g.setColor(Color.darkGray);
&g.fillRect(15,193,7,7);
g.setColor(Color.black);
g.drawString("%Operating",25,200);
g.setColor(Color.yellow);
g.fillRect(130,193,7,7);
g.setColor(Color.black);
g.drawString("%Term",140,200);
g.setColor(Color.lightGray);
g.fillRect(15,213,7,7);
g.setColor(Color.black);
g.drawString("%Mortgage",25,220);
g.setColor(Color.green);
g.fillRect(130,213,7,7);
g.setColor(Color.black);
g.drawString("%Lease",140,220);
JPEGImageEncoderjpg=
JPEGCodec.createJPEGEncoder(fos);
jpg.encode(myImage);
}catch(Exceptione){
StringexceptionThrown=e.toString();
StringsourceOfException="Method";
System.out.println("OrigionalExceptionThrown:"+
exceptionThrown++
);
System.out.println("OrigionalSourceOfException:"+
sourceOfException++
);
}//CatchStatementEnd
}
}
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。 |
|