成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于JSP實現數據庫中圖片的存儲與顯示

開發(fā) 后端
本文介紹基于JSP實現圖片的數據庫存儲與顯示,包括說明存取的數據表結構的SQL腳本。

1、引言

數據庫應用程序,特別是基于WEB的數據庫應用程序,常會涉及到圖片信息的存儲和顯示。通常我們使用的方法是將所要顯示的圖片存在特定的目錄下,在數據庫中保存相應的圖片的名稱,在JSP中建立相應的數據源,利用數據庫訪問技術處理圖片信息。但是,如果我們想動態(tài)的顯示圖片,上述方法就不能滿足需要了。我們必須把圖片放入數據庫存儲起來,然后通過編程動態(tài)地顯示我們需要的圖片。實際操作中,可以利用JSP的編程模式來實現圖片的數據庫存儲和顯示。

2、建立后臺數據庫

假定處理的是圖片新聞,那么我們可以建立相應的數據庫及數據表對象。我們要存取的數據表結構的SQL腳本如下所示:

  1. if exists (select * from dbo.sysobjects where id =   
  2. object_id(N'[dbo].[picturenews]') andOBJECTPROPERTY(id, N'IsUserTable') = 1)  
  3. drop table [dbo].[picturenews]  
  4. GO  
  5. CREATE TABLE [dbo].[picturenews] (  
  6. [id] [int] IDENTITY (1, 1) NOT NULL ,  
  7. [image] [image] NULL ,  
  8. [content] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,  
  9. [detail] [varchar] (5000) COLLATE Chinese_PRC_CI_AS NULL   
  10. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]  
  11. GO 

表picturenews中,字段id作為標識,每存儲一行數據,自動增加1。字段image

用于存儲圖片信息,其數據類型為“image”。

3、向數據庫存儲二進制圖片

啟動Dreamweaver MX后,新建一個JSP文件。其代碼如下所示。

  1. <%@ page contentType="text/html;charset=gb2312"%>   
  2. <HTML> 
  3. <HEAD> 
  4. <TITLE>存儲圖片TITLE> 
  5. HEAD> 
  6. <body> 
  7.  
  8. <FORM METHOD=POST ACTION="testimage.jsp"> 
  9. 新 聞 標 題:<INPUT TYPE="text" NAME="content"><BR> 
  10. 新 聞 圖 片:<INPUT TYPE="file" NAME="image"><BR> 
  11. 新聞內容:  
  12. <TEXTAREA name="txtmail" rows="15" cols="90"   
  13. style="BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid;   
  14. BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 9pt;   
  15. HEIGHT: 200px; WIDTH: 100%" wrap="physical" >TEXTAREA><br> 
  16. <INPUT TYPE="submit">form> 
  17. body> 
  18. HTML> 

將此文件保存為InputImage.jsp文件,其中testimage.jsp文件是用來將圖片數據存入數據庫的,具體代碼如下所示:

 

  1. <%@ page contentType="text/html;charset=gb2312"%>   
  2. <%@ page import="java.sql.*" %> 
  3. <%@ page import="java.util.*"%> 
  4. <%@ page import="java.text.*"%> 
  5. <%@ page import="java.io.*"%> 
  6. <html>   
  7. <body>   
  8. <%  
  9. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
  10. //加載驅動程序類  
  11. Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");  
  12. //建立數據庫聯機,其中denglu為數據庫名,sa為連接數據庫的帳號及密碼。  
  13. Statement stmt=con.createStatement();   
  14. //建立Statement對象  
  15. String content=request.getParameter("content");  
  16. content=new String(content.getBytes("8859_1"),"gb2312");  
  17. String filename=request.getParameter("image");  
  18. filename=new String(filename.getBytes("8859_1"),"gb2312");  
  19. String detail=request.getParameter("txtmail");  
  20. detail=new String(detail.getBytes("8859_1"),"gb2312");  
  21. //獲得所要顯示圖片的標題、存儲路徑、內容,并進行中文編碼  
  22. FileInputStream str=new FileInputStream(filename);  
  23. String sql="insert into picturenews(content,image,detail) values(?,?,?)";  
  24. PreparedStatement pstmt=con.prepareStatement(sql);  
  25. pstmt.setString(1,content);  
  26. pstmt.setBinaryStream(2,str,str.available());  
  27. pstmt.setString(3,detail);  
  28. pstmt.execute();  
  29. //將數據存入數據庫  
  30. out.println("Success,You Have Insert an Image Successfully");  
  31. %> 

4、網頁中動態(tài)顯示圖片

接下來我們要編程從數據庫中取出圖片,其代碼如下所示。

  1. <%@ page contentType="text/html;charset=gb2312"%>   
  2. <%@ page import="java.sql.*" %> 
  3. <%@ page import="java.util.*"%> 
  4. <%@ page import="java.text.*"%> 
  5. <%@ page import="java.io.*"%>   
  6. <html> 
  7. <body> 
  8. <%  
  9. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   
  10. //加載驅動程序類  
  11. Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");  
  12. Statement stmt=con.createStatement();  
  13. ResultSet rs=null;   
  14. //建立ResultSet(結果集)對象  
  15. int idInteger.parseInt(request.getParameter("id"));  
  16. //獲得所要顯示圖片的編號id,并轉換為整型  
  17. String sql = "select image from picturenews WHERE id="+id+"";   
  18. //要執(zhí)行查詢的SQL語句  
  19. rs=stmt.executeQuery(sql);  
  20. while(rs.next()) {  
  21. ServletOutputStream sout = response.getOutputStream();  
  22. //圖片輸出的輸出流  
  23. InputStream in = rs.getBinaryStream(1);  
  24. byte b[] = new byte[0x7a120];  
  25. for(int i = in.read(b); i != -1;)  
  26. {  
  27. sout.write(b);   
  28. //將緩沖區(qū)的輸入輸出到頁面  
  29. in.read(b);  
  30. }  
  31. sout.flush();  
  32. //輸入完畢,清除緩沖  
  33. sout.close();  
  34. }  
  35. %> 
  36. body> 
  37. html> 

將此文件保存為testimageout.jsp文件。下一步要做的工作就是使用HTML標記:

  1. <IMG src="testimageout.jsp?id=<%=rs.getInt("id")%>" width=100 height=100> 

取出所要顯示的圖片,其中id是所要取出圖片的編號。本例中我們輸出了***個和***一個圖片信息,詳細的程序代碼如下所示。

  1. <%@ page contentType="text/html;charset=gb2312"%>   
  2. <%@ page import="java.sql.*" %> 
  3. <html> 
  4. <head> 
  5. <title>動態(tài)顯示數據庫圖片title> 
  6. head> 
  7. <body> 
  8. <%   
  9. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
  10. Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");  
  11. Statement stmt=con.createStatement();  
  12. String sql=new String();  
  13. sql"select * from picturenews";  
  14. ResultSet rs=stmt.executeQuery(sql);  
  15. rs.last();  
  16. //將指針移至***一條記錄  
  17. %>   
  18. <table> 
  19. <tr><td><IMG height=99 src="testimageout.jsp?id=1" width=136>td> 
  20. //取出***個圖片  
  21. <td><IMG height=99 src="testimageout.jsp?id=<%=rs.getInt("id")%>" width=136>td> 
  22. //取出***一個圖片  
  23. tr>table> 
  24. body> 
  25. html> 

以上基于JSP實現數據庫中圖片的存儲與顯示的WEB應用程序在Windows 2000 Professional/SQL Server 2000/ Apache Tomcat 4.0/JDK 1.4 JAVA環(huán)境下調試通過。

【編輯推薦】

  1. JSP實現JDOM處理數據庫到XML轉換的應用
  2. 在JSP編程中Application的使用方法詳解
  3. Ajax和JSF使用Rational Application Developer V7輕松實現Web應用程序
  4. JSF技術詳細介紹
  5. 使用Acegi保護JSF應用程序
責任編輯:佚名 來源: builder
相關推薦

2009-05-08 09:17:48

動態(tài)數據庫圖片

2009-03-23 09:01:00

圖片存儲數據庫JSP

2011-08-30 15:10:46

Qt圖片數據庫

2009-07-02 14:24:02

JSP讀取數據庫

2009-08-12 11:04:38

ASP.NET和SQL

2009-07-06 15:57:56

獲取數據庫連接JSP

2009-07-31 13:52:26

ASP.NET數據庫圖

2020-03-16 08:16:16

數據庫數據安全

2011-03-23 11:11:17

圖片數據庫

2018-07-13 09:20:30

SQLite數據庫存儲

2016-12-08 09:30:00

圖片數據庫網絡爬取數據清洗

2022-09-02 11:59:41

AI算法

2011-07-14 14:36:29

Dbgrid多數據庫

2009-07-03 13:56:21

JSP編程技巧

2009-07-31 16:09:23

ASP.NET數據庫圖

2009-06-29 18:04:32

JDOM文檔JSP

2009-07-21 13:40:24

ASP.NET上傳圖片顯示圖片

2009-07-02 09:00:25

JDBC設計JSP訪問數據庫

2011-09-01 14:00:11

SQL Server 存儲過程顯示表結構

2009-07-01 16:01:58

JSP數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩视频精品在线 | 精品久久久久一区二区国产 | 久久久91精品国产一区二区精品 | 国产日韩欧美二区 | 日韩在线日韩 | 91视频在线| 亚洲欧美日韩在线一区二区 | 久久九九色 | 在线视频一区二区三区 | 四虎永久免费地址 | 天天影视亚洲综合网 | 久久九九99 | 成人片网址 | 暖暖成人免费视频 | 日韩成人免费视频 | 伊人狠狠| 99精品久久99久久久久 | 天天射天天操天天干 | 日韩成人中文字幕 | 91久久| 91文字幕巨乱亚洲香蕉 | 成人一区二区视频 | 欧美伊人 | 久久人体| 成人亚洲精品久久久久软件 | 国产精品毛片一区二区在线看 | 日韩欧美国产精品一区 | 欧美一区 | 久久精品一 | 精品免费av | 久久久久久黄 | 欧美一区二区三区在线播放 | 久久国产区 | 中文在线播放 | 精品乱人伦一区二区三区 | 国产永久免费 | 日本黄色影片在线观看 | 久久精品综合网 | 午夜影院网站 | 成人在线观看免费爱爱 | 欧美精品成人一区二区三区四区 |