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

淺談如何調用JSP讀取數據庫中圖片并顯示在頁面上

開發 后端
用JSP讀取數據庫中的圖片并顯示在頁面上,這看起來沒什么難得,但當初還真讓筆者遇到點問題,這里為大家簡單介紹下。

記得當年當當網推出時用JSP讀取數據庫是從Oracle里讀Blob圖片,顯示到頁面上以后怎么都是個紅叉子,無奈之下請教高人,答曰:這種事情一般用Servlet搞定比較好,因為JSP讀取數據庫終究會被翻譯成JAVA代碼然后編譯成class,你的JSP難免出現一些格式轉換什么的代碼,一旦污染到讀出來的image,則紅叉子在所難免了。

細想之下頓覺言之有理,Google之。果然發現很多朋友遇到過此問題,遂查之~,見有人說去掉全部空格就OK了,想想也對,就馬上給代碼凈身(可憐我里縮外進的完美代碼格式)~~

然后代碼成了這副模樣:

Java代碼

  1. <%@ page import="java.awt.image.BufferedImage"%>   
  2. <%@ page import="java.io.BufferedInputStream"%>   
  3. <%@ page import="java.io.IOException"%>   
  4. <%@ page import="java.sql.Connection"%>   
  5. <%@ page import="java.sql.ResultSet"%>   
  6. <%@ page import="java.sql.Statement"%>   
  7. <%@ page import="java.sql.Blob"%>   
  8. <%@ page import="oracle.sql.BLOB"%>   
  9. <%@ page import="javax.naming.InitialContext"%>   
  10. <%@ page import="javax.imageio.ImageIO"%>   
  11. <%@ page import="javax.sql.DataSource"%>   
  12. <%@ page import="javax.servlet.ServletOutputStream"%>   
  13. <%@ page import="com.sun.image.codec.jpeg.JPEGCodec"%>   
  14. <%@ page import="com.sun.image.codec.jpeg.JPEGImageEncoder"%>   
  15. <%InitialContext ic=new InitialContext();   
  16. DataSource ds=(DataSource)ic.lookup("DSNAME");   
  17. Connection conn=null;   
  18. conn =ds.getConnection);   
  19. Statement stmt=null;BufferedInputStream inputimage=null;   
  20. stmt=conn.createStatement();   
  21. boolean defaultCommit=conn.getAutoCommit();   
  22. conn.setAutoCommit(false);   
  23. String photoId =request.getParameter("photo_id");   
  24. try{   
  25. ResultSet rs=stmt.executeQuery("SELECT * FROM TABLENAME WHERE sys_id='"+photoId+"'");   
  26. if(rs.next()){Blob blob=(Blob)rs.getBlob("photo");   
  27. long size=blob.length();   
  28. byte[] bs=blob.getBytes(1,(int)size);   
  29. response.setContentType("image/jpeg;charset=GB2312");   
  30. response.setHeader("Content-Transfer-Encoding","base64");   
  31. OutputStream out1=response.getOutputStream();   
  32. BufferedOutputStream bos=null;   
  33. bos=new BufferedOutputStream(out1);   
  34. bos.write(bs,0,bs.length);bos.close();   
  35. rs.close();   
  36. }   
  37. else   
  38. {   
  39. rs.close();   
  40. }}   
  41. finally{   
  42. conn.close();   
  43. }%>   

然后運行之~~,呵呵,調用JSP讀取數據庫中圖片并顯示在頁面上就這樣出來了~~~

【編輯推薦】

  1. 選擇JSP網站空間的三點注意事項
  2. 分析JSP后臺文件管理源代碼
  3. MySQL手冊中查到的JSP中文亂碼解決方法
  4. JSP中文亂碼問題的描述及解決方法
  5. 實例說明JSP打印報表的方法
責任編輯:彭凡 來源: 網易博客
相關推薦

2009-07-07 14:56:33

JSP連接MySQL

2009-06-10 17:03:36

JSP動態生成

2009-07-01 16:01:58

JSP數據庫

2009-07-14 18:13:36

Microsoft J

2009-06-30 09:16:45

數據庫存儲JSP文件

2009-07-06 15:57:56

獲取數據庫連接JSP

2009-07-03 10:52:33

MIDletJSP頁面

2009-05-08 09:17:48

動態數據庫圖片

2009-07-21 13:40:24

ASP.NET上傳圖片顯示圖片

2009-06-25 16:36:31

JBPM流程圖

2009-08-11 14:51:47

C#讀取Excel中數

2024-09-20 18:02:42

C#數據庫SQLite

2009-07-02 09:25:41

JSP實現頁面跳轉

2009-03-23 09:01:00

圖片存儲數據庫JSP

2009-03-05 10:10:52

餅圖數據庫JSP

2011-01-18 09:47:33

自增ID

2009-07-07 15:07:59

JSP上傳圖片

2020-08-31 07:00:00

數據庫數據庫同步

2009-07-03 17:37:54

JSP數據庫

2009-06-30 15:22:55

JSP頁面
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一区二区在线视频 | av天天操 | 日本网站免费在线观看 | 欧美一页 | 99re热精品视频国产免费 | 综合久久av | 久久久久久久电影 | 中文字幕韩在线第一页 | 国产精品一区在线观看 | 欧美中文字幕一区二区三区 | 精品国产黄色片 | 国产精品成人一区二区 | 一区二区在线观看av | 国产欧美一区二区三区在线看蜜臀 | 超碰天天| 亚洲一区二区三区免费观看 | 欧美日韩在线看 | 亚洲欧美在线视频 | 人人干视频在线 | 中文字幕av在线播放 | 福利久久| 国产伦精品一区二区三毛 | 三级黄色大片网站 | 亚洲国产精品久久久久秋霞不卡 | 一级免费a | 91综合在线观看 | 日韩美女一区二区三区在线观看 | 香蕉久久a毛片 | 国产一在线观看 | 日日操日日干 | 三级国产三级在线 | www.日韩| 欧美激情综合网 | 久久久精品久久久 | 国产乱码精品一区二区三区忘忧草 | 国产精品久久久久久久 | 日韩中文一区二区三区 | 欧美高清视频一区 | 久久久久久久久久久久久久av | 欧美亚洲一区二区三区 | 91精产国品一二三区 |