JSP初級教程之跟我學(xué)JSP(六)_JSP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:JSP初級教程之跟我學(xué)JSP(五)第五章 jsp 分頁功能的實(shí)現(xiàn) 經(jīng)過上面的學(xué)習(xí)我漸漸熟悉了對 數(shù)據(jù)庫 的操作,留言板的功能也不斷的完善,隨著留言的增加信息的目錄越來越長了,現(xiàn)在需要實(shí)現(xiàn)一個(gè)分頁功能了,我嘗試自己解決這個(gè)問題。 1、我應(yīng)該把它的關(guān)鍵部分封裝成一個(gè)bean,使它盡可能的能
第六章 jsp實(shí)現(xiàn)畫柱狀統(tǒng)計(jì)圖這一節(jié)的內(nèi)容是用jsp生成一個(gè)統(tǒng)計(jì)——統(tǒng)計(jì)一年內(nèi)每個(gè)月完成的報(bào)修任務(wù)量。
Java里和畫圖有關(guān)的是java.awt包,由于我構(gòu)想的圖只是由矩形組成,那么用到的方法也就這么幾個(gè):fillRect,drawRect,setColor,setFont,drawString。我很快發(fā)現(xiàn)一個(gè)問題:如何在頁面顯示這個(gè)圖,這是個(gè)大問題,于是找例子。
在一個(gè)學(xué)過研究生Java課程的同事的幫助下知道可以這樣:寫一個(gè)類(Picture.class),這個(gè)類只負(fù)責(zé)畫圖,沒有任何關(guān)于如何顯示的語句,然后在一個(gè)頁面文件(.htm文件就行)里<body>里寫上這段代碼:<applet code="Picture" height="400" width="400"></applet>,運(yùn)行這個(gè)文件就可以了。但是這個(gè)方法有這兩個(gè)弊端:1、它是直接從服務(wù)器端下載Picture.class,在客戶端生成圖片,所以客戶端必須裝有java環(huán)境,比如j2re等;2、現(xiàn)在大部分瀏覽器都或者迫于無奈或者被強(qiáng)行綁架(這里我嚴(yán)重鄙視一下3721和一個(gè)叫“天下搜索”的)安裝了阻止小窗口、ActiveX控件的插件——就連XP的SP2也集成了這個(gè)功能——而這個(gè)功能同樣對<applet>有效。
放棄第一種方法后我在網(wǎng)上找到了第二個(gè)例子,第二個(gè)例子讓我很奇怪,代碼直接寫在一個(gè).jsp文件里,打開文件顯示圖片,一看這個(gè)圖片的屬性竟然就是這個(gè).jsp文件的名�?戳艘魂囎哟a發(fā)現(xiàn)不是很理解,我開始看第三個(gè)例子。
第三個(gè)例子符合我的思維:寫一個(gè)bean(或者說是一個(gè)類),把一個(gè)代表路徑的字符串和一些數(shù)據(jù)傳給它,它根據(jù)數(shù)據(jù)畫圖但是不返回(從這一點(diǎn)來說它不能叫做bean),而是生成一個(gè)如.jpg文件并按照傳進(jìn)來的路徑名進(jìn)行保存。然后顯頁面通過<img src="……">顯示圖片。我通過這種方式實(shí)現(xiàn)了工作,下面是這個(gè)類的代碼:
----------------------------------Picture.java------------------------------------
//該bean用于畫柱狀統(tǒng)計(jì)圖
package ringz.javabeans;
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.awt.*;
public class PictureBean
{
BufferedImage image;
private String fileLocation;
public void setFileLocation(String fileLocation)//fileLocation是圖片的路徑,如:“D:\\a\\b\\c.jpg”
{
this.fileLocation=fileLocation;
}
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)
{
e.printStackTrace();
}
}
public void outGraphic(String titles,String sstr,String str[],int datas[])
{
String Title=titles;
String SStr=sstr;
int imageWidth = 400;//圖片的寬度 Line
int imageHeight;//不定長
int frameFirstWidth=imageWidth-10;
int frameFirstHeight=25;
int frameSecondWidth=imageWidth-10;
int frameSecondHeight;//不定長
int frameSpace=10;//兩框間隔
int columnHeight=18;//柱的粗
int columnMaxWidth=frameSecondWidth-20;//柱的最大長度,也是代表數(shù)值最大的那個(gè)柱的長度
int sp=30;//柱的間隔
int num=datas.length;//數(shù)組的長度
int Datas[]=new int[num];//得到數(shù)組的數(shù)值
String name[]=new String[num];
for (int i=0;i<num;i++)
{
Datas[i]=datas[i];
name[i]=str[i];
}
//得此數(shù)組中的最大值
int max=Datas[0];
for (int j=0;j<num;j++)
{
if(Datas[j]>max)
max=Datas[j];
}
分享:JSP初級教程之跟我學(xué)JSP(四)第四章我的第一個(gè) Javabean 程序 一、先看看如何取當(dāng)前時(shí)間并顯示的代碼: ------------------------------------------------ % java.text.SimpleDateFormatformatter=newjava.text.SimpleDateFormat(yyyy-MM-ddHH:mm:ss); java.util.DatecurrentTime=ne
相關(guān)JSP教程:
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關(guān)鏈接:
- 教程說明:
JSP教程-JSP初級教程之跟我學(xué)JSP(六)
。