999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用JavaBean實(shí)現(xiàn)對SQL server數(shù)據(jù)庫中圖像文件的存取

2009-04-29 00:00:00
電腦知識與技術(shù) 2009年14期

摘要:在動態(tài)網(wǎng)頁的設(shè)計中,圖像文件的存取已成為一項必不可少的工作。該文結(jié)合實(shí)例,具體給出了在JSP網(wǎng)頁設(shè)計中,利用JavaBean的封裝技術(shù),實(shí)現(xiàn)在SQLserver2000數(shù)據(jù)庫中存取圖像文件的方法,并給出了主要代碼,對JSP動態(tài)網(wǎng)頁的制作有借鑒意義。

關(guān)鍵詞:JSP;JavaBean;SQL server;圖像

中圖分類號:TP391文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)14-3593-03

Taking JavaBean as an Access to Image Files in SQL server Database

LI Qun

(North University for Nationalities, Yinchuan 750021, China)

Abstract: To design dynamic web pages, getting access to image files has become absolutely necessary. Supported by concrete examples, the author of this paper points out that in designing JSP web pages we can get access to image files in SQL server 2000 Database by applying the packaging technology of JavaBean. He also lists the key codes, which can help to design JSP dynamic web pages.

Key words: JSP; JavaBean; SQL server; image

1 引言

JSP的全稱是Java Server Pages,它是太陽微系統(tǒng)公司(Sun Microsystems Inc)倡導(dǎo),多家公司參與建立的一種動態(tài)網(wǎng)頁技術(shù)。在JSP應(yīng)用程序中,數(shù)據(jù)庫訪問是一個重要的應(yīng)用。然而,在JSP文件中直接嵌入訪問數(shù)據(jù)庫的代碼及SQL語句則會使頁面設(shè)計困難。如果將JSP和JavaBean技術(shù)結(jié)合在一起,可以用JavaBean實(shí)現(xiàn)業(yè)務(wù)邏輯和數(shù)據(jù)庫操作的封裝,使用JavaBean處理所有的數(shù)據(jù)訪問,JSP只負(fù)責(zé)頁面的顯示,可提高對數(shù)據(jù)庫進(jìn)行訪問的安全性及JSP網(wǎng)頁設(shè)計的方便性[1]。此外,在動態(tài)網(wǎng)頁的設(shè)計中,圖像文件的存取已成為動態(tài)網(wǎng)頁設(shè)計的一項必不可少的工作。利用數(shù)據(jù)庫實(shí)現(xiàn)圖片的集中存儲,同時以網(wǎng)絡(luò)為連接,通過基于HTTP協(xié)議的網(wǎng)絡(luò)瀏覽器實(shí)現(xiàn)對數(shù)據(jù)庫包括圖片數(shù)據(jù)的遠(yuǎn)程訪問[2],已是目前基于B/S結(jié)構(gòu)設(shè)計的主流。本文結(jié)合實(shí)例,具體論述了在JSP網(wǎng)頁設(shè)計中,調(diào)用JavaBean,實(shí)現(xiàn)在SQLserver2000數(shù)據(jù)庫中存取圖像文件的方法。

2 JSP程序運(yùn)行環(huán)境及示例數(shù)據(jù)庫的建立

2.1 JSP程序運(yùn)行環(huán)境的建立

本文所采用操作系統(tǒng)為Windows 2000 Server版本。JDK是1.5版本, Tomcat是5.5版本。其安裝及配置,在許多資料上都可以找到,不再贅述。

在微軟網(wǎng)站上下載Microsoft SQL Server 2000 JDBC驅(qū)動程序。執(zhí)行ms_jdbc_setup.exe可執(zhí)行文件,完成安裝。安裝目錄\\lib\\下的三個jar文件(msbase.jar、mssqlserver.jar、msutil.jar)是JDBC驅(qū)動核心,將這三個.jar文件加到CLASSPATH中。

2.2 示例數(shù)據(jù)庫的建立

圖片數(shù)據(jù)從存儲的角度來看,相當(dāng)于二進(jìn)制數(shù)據(jù)的集合,被稱為二進(jìn)制大對象塊(binary large object block,BLOB)。在 SQL Server 中,image數(shù)據(jù)類型存儲的是長度不確定的二進(jìn)制數(shù)據(jù),最大長度是2GB,通??梢杂脕泶鎯Ω鞣N格式的圖像信息[3][4]。本文將圖片文件轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)塊存儲到image字段中,使用時再將二進(jìn)制信息轉(zhuǎn)換成為原來格式的文件內(nèi)容。據(jù)此,在SQL server 2000企業(yè)管理器中,建立數(shù)據(jù)庫jbtest,在其中建立表pictest,表結(jié)構(gòu)如表1所示。

3 開發(fā)、裝配并部署訪問數(shù)據(jù)庫的JavaBean

3.1 開發(fā)Java程序

用記事本等文本編輯器編寫Java程序PicBean.java,主要代碼如下:

public class PicBean

{

private Connection con;

public PicBean ()//初始化連接。

{ String CLASSFORNAME=\"com.microsoft.jdbc.sqlserver.SQLServerDriver\";

String SERVANDDB=\"jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jbtest\";

String USER=\"sa\";

String PWD=\"123\";

try{

Class.forName(CLASSFORNAME);

con = DriverManager.getConnection(SERVANDDB,USER,PWD);

}catch(Exception e){e.printStackTrace();}

}

//在數(shù)據(jù)庫中添加信息

public void addpictest(String userName,String picture)throws Exception

{FileInputStream str=new FileInputStream(picture);

try{

PreparedStatement pstmt=con.prepareStatement(\"insert into pictest values(?,?)\");

pstmt.setString(1,userName);

pstmt.setBinaryStream(2,str,str.available());

pstmt.execute();

con.close();}catch(Exception e)

}

//查詢數(shù)據(jù)庫

publicResultSet getpictest(String userName){

try{

Statement stm=con.createStatement();

ResultSet result=stm.executeQuery(\"select * from pictest where userName='\"+userName+\"'\");

return result;}catch(Exception e){}

return 1;}}

3.2 裝配和部署JavaBean

在DOS命令行方式下,用javac PicBean.java命令將PicBean.java文件編譯成字節(jié)碼文件PicBean.class,為了簡化論述,本文將PicBean.class文件拷貝到tomcat的應(yīng)用目錄下的“\\WEB- INF\\classes\\”下。

4 在JSP網(wǎng)頁中調(diào)用JavaBean完成對數(shù)據(jù)庫的連接訪問及圖片文件的存取

4.1 開發(fā)并部署存儲圖片的JSP應(yīng)用程序

編寫訪問SQLserver數(shù)據(jù)庫并完成圖像文件存儲的jsp文件,本文中將文件名定為setpic.jsp,其主要代碼如下:

使用JavaBean在數(shù)據(jù)庫中存入圖片文件:

<%String userName=\"liqun\";

String picture=\"d:\\\\pictest.jpg\";

try {contact.addpictest(userName,picture);

}catch(Exception e){}

%>

代碼中“String userName=\"liqun\"; String picture=\"d:\\\\pictest.jpg\";”中的字符串,在實(shí)際使用中可根據(jù)需要,利用request對象從其它靜態(tài)網(wǎng)頁的表單中得到。其中,\"d:\\\\pictest.jpg\"表示要存入數(shù)據(jù)庫的圖片文件。

將該JSP程序部署于目錄tomcat的安裝目錄下的webapps中自己的應(yīng)用目錄下(例如應(yīng)用目錄為myweb)。啟動tomcat,在瀏覽器中輸入http://localhost: 8080/myweb/setpic.jsp,就可完成數(shù)據(jù)庫中所要數(shù)據(jù)的存儲。

4.2 開發(fā)并部署讀取圖片的JSP應(yīng)用程序

編寫訪問SQLserver數(shù)據(jù)庫并完成圖像文件讀取的jsp文件,本文中將文件名定為getpic.jsp,其主要代碼如下:

使用JavaBean來讀取數(shù)據(jù)庫中的圖片:

<% String userName=\"liqun\";

try{

ResultSet rst=contact.getpictest(userName);

while(rst.next()){

//rs.setContentType(\"image/jpeg\");

ServletOutputStream sout = response.getOutputStream();

InputStream in = rst.getBinaryStream(\"picture\");

byte b[] = new byte[0x7a120];

for(int i = in.read(b); i!= -1;){

sout.write(b);

in.read(b); }

sout.flush();

sout.close();

}

rst.close();

} catch(Exception e){System.out.println(e);} %>

代碼中“String userName=\"liqun\";”中的字符串,在實(shí)際使用中可根據(jù)需要,利用request對象從其它靜態(tài)網(wǎng)頁的表單中得到。

將該JSP程序部署于目錄tomcat的安裝目錄下的webapps中自己的應(yīng)用目錄下(例如應(yīng)用目錄為myweb)。啟動tomcat,在瀏覽器中輸入http://localhost: 8080/myweb/getpic.jsp,就可完成對數(shù)據(jù)庫的訪問并在網(wǎng)頁中顯示數(shù)據(jù)庫中所查詢的圖像。

5 結(jié)束語

本文所述的在JSP網(wǎng)頁中通過調(diào)用JavaBean實(shí)現(xiàn)了對SQL Server2000數(shù)據(jù)庫中圖像文件存取的方法,已在實(shí)際應(yīng)用中經(jīng)過測試。為了最高效率的對數(shù)據(jù)庫進(jìn)行訪問,還應(yīng)該考慮用數(shù)據(jù)庫連接池技術(shù)。

參考文獻(xiàn):

[1] 劉曉華,張健,周慧貞. JSP應(yīng)用開發(fā)詳解[M].電子工業(yè)出版社.2007

[2] 李偉民,何偉,李平. 基于Web的SQLServer數(shù)據(jù)庫存取圖片的Delphi實(shí)現(xiàn)[J].計算機(jī)工程與設(shè)計,2007(12):2943-2945.

[3] 于松濤. 精通SOL Server 2000 數(shù)據(jù)庫管理與開發(fā)[M].北京:人民郵電出版社,2001.

[4] 古凌風(fēng). 用ADO技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫圖像字段的存取[J].計算機(jī)工程與設(shè)計,2004,25(8):1388-1392.

主站蜘蛛池模板: 免费无码AV片在线观看国产| 亚洲人成日本在线观看| 99re在线观看视频| 中文字幕有乳无码| 蜜臀AVWWW国产天堂| 欧美中文字幕在线播放| 91丝袜美腿高跟国产极品老师| 国产资源站| 91精品啪在线观看国产60岁| 色偷偷男人的天堂亚洲av| 色天天综合久久久久综合片| 欧美成人国产| 日韩 欧美 小说 综合网 另类| 伦伦影院精品一区| 国产区91| 国模极品一区二区三区| 国产中文在线亚洲精品官网| 本亚洲精品网站| 欧美一级特黄aaaaaa在线看片| 中文字幕亚洲精品2页| 国产尤物在线播放| 五月婷婷丁香综合| 婷婷综合亚洲| 国产精品视频久| 最新国产午夜精品视频成人| 91破解版在线亚洲| 91精品国产福利| 国产91精品久久| 久久这里只有精品66| 毛片网站在线看| 国产一区二区三区视频| 亚洲色图综合在线| 国内精品自在自线视频香蕉| 天堂成人av| 亚洲黄色视频在线观看一区| 青青草国产在线视频| 国产理论一区| 日韩高清无码免费| 全免费a级毛片免费看不卡| 国内精品九九久久久精品| 国产精品网拍在线| 亚洲无码精品在线播放| 强乱中文字幕在线播放不卡| Aⅴ无码专区在线观看| 久久亚洲欧美综合| 国产欧美日韩精品综合在线| 天天色综合4| 欧美日韩国产在线观看一区二区三区| 四虎精品国产永久在线观看| av手机版在线播放| 国产精品99一区不卡| 中文字幕1区2区| 国产精品欧美亚洲韩国日本不卡| 国产第一页亚洲| 亚洲色偷偷偷鲁综合| 国产无码性爱一区二区三区| 99re视频在线| 国产欧美日韩资源在线观看| 99久久无色码中文字幕| 欧美性久久久久| 99热6这里只有精品| 91高清在线视频| 色婷婷在线影院| 四虎AV麻豆| 欧美激情视频一区| 91精品网站| 国产全黄a一级毛片| 香蕉蕉亚亚洲aav综合| 在线a网站| 成人日韩欧美| a在线观看免费| 欧美精品成人| 91小视频在线观看| 九九精品在线观看| 午夜少妇精品视频小电影| 国产精品亚洲片在线va| 国产精品毛片一区视频播| 亚洲综合狠狠| 日本欧美成人免费| 99re热精品视频中文字幕不卡| 午夜啪啪福利| 亚洲精品午夜无码电影网|