亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP中圖片的上傳與顯示方法實例詳解

2020-07-27 21:30:13
字體:
來源:轉載
供稿:網友

本文實例講述了JSP中圖片的上傳與顯示方法。分享給大家供大家參考。具體如下:

1、引言

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

2、建立后臺數據庫

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

if exists (select * from dbo.sysobjects where id =object_id(N'[dbo].[picturenews]') andOBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[picturenews]GOCREATE TABLE [dbo].[picturenews] (    [id] [int] IDENTITY (1, 1) NOT NULL ,    [image] [image] NULL ,    [content] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,    [detail] [varchar] (5000) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO

表picturenews中,字段id作為標識,每存儲一行數據,自動增加1。字段image
用于存儲圖片信息,其數據類型為“image”。
 
3、向數據庫存儲二進制圖片

新建一個JSP文件。其代碼如下所示。

<%@ page contentType="text/html;charset=gb2312"%><HTML><HEAD><TITLE>存儲圖片</TITLE></HEAD><body><!-- 下面的窗體將以Post方法,將數據傳遞給testimage.jsp文件 --><FORM METHOD=POST ACTION="testimage.jsp">新 聞 標 題:<INPUT TYPE="text" NAME="content"><BR>新 聞 圖 片:<INPUT TYPE="file" NAME="image"><BR>新聞內容:<TEXTAREA name="txtmail" rows="15" cols="90" style="BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 9pt; HEIGHT: 200px; WIDTH: 100%" wrap="physical" ></TEXTAREA><br><INPUT TYPE="submit"></form></body></HTML>

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

<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%><html><body><%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加載驅動程序類 Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=upload_Image","sa","sa");//建立數據庫聯機,其中upload_Image為數據庫名,sa為連接數據庫的帳號及密碼。Statement stmt=con.createStatement();//建立Statement對象String content=request.getParameter("content");content=new String(content.getBytes("8859_1"),"gb2312");String filename=request.getParameter("image");filename=new String(filename.getBytes("8859_1"),"gb2312");String detail=request.getParameter("txtmail");detail=new String(detail.getBytes("8859_1"),"gb2312");//獲得所要顯示圖片的標題、存儲路徑、內容,并進行中文編碼FileInputStream str=new FileInputStream(filename);String sql="insert into picturenews(content,image,detail) values(?,?,?)";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1,content);pstmt.setBinaryStream(2,str,str.available());pstmt.setString(3,detail);pstmt.execute();//將數據存入數據庫out.println("Success,You Have Insert an Image Successfully");%>

4、網頁中動態顯示圖片

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

<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%><html><body><%<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加載驅動程序類 Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=upload_Image","sa","sa");//建立數據庫聯機,其中upload_Image為數據庫名,sa為連接數據庫的帳號及密碼。Statement stmt=con.createStatement();ResultSet rs=null;//建立ResultSet(結果集)對象int id= Integer.parseInt(request.getParameter("id"));//獲得所要顯示圖片的編號id,并轉換為整型String sql = "select image from picturenews WHERE id="+id+"";//要執行查詢的SQL語句rs=stmt.executeQuery(sql);while(rs.next()) {ServletOutputStream sout = response.getOutputStream();//圖片輸出的輸出流InputStream in = rs.getBinaryStream(1);byte b[] = new byte[0x7a120];for(int i = in.read(b); i != -1;){sout.write(b);//將緩沖區的輸入輸出到頁面in.read(b);}sout.flush();//輸入完畢,清除緩沖sout.close();}%></body></html>

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

<IMG src="testimageout.jsp?id=<%=rs.getInt("id")%>"  width=100 height=100>
取出所要顯示的圖片,其中id是所要取出圖片的編號。本例中我們輸出了第一個和最后一個圖片信息,詳細的程序代碼如下所示。

<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><html><head><title>動態顯示數據庫圖片</title></head><body><%<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加載驅動程序類 Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=upload_Image","sa","sa");//建立數據庫聯機,其中upload_Image為數據庫名,sa為連接數據庫的帳號及密碼。Statement stmt=con.createStatement();String sql=new String();sql= "select * from picturenews";ResultSet rs=stmt.executeQuery(sql);rs.last();//將指針移至最后一條記錄%> <table><tr><td><IMG height=99 src="testimageout.jsp?id=1" width=136></td>//取出第一個圖片<td><IMG height=99 src="testimageout.jsp?id=<%=rs.getInt("id")%>" width=136></td>//取出最后一個圖片</tr></table></body></html>

以上WEB應用程序在Windows xp/SQL Server 2000/ Apache Tomcat 4.0/Jbuilder環境下調試通過。

希望本文所述對大家的JSP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美人在线观看| 在线一区二区日韩| 国产日韩欧美91| 欧美国产乱视频| 亚洲男人天堂九九视频| 激情懂色av一区av二区av| 国产精品国产福利国产秒拍| 成人免费视频a| 亚洲国产免费av| 国产精品草莓在线免费观看| 国模视频一区二区三区| 欧美久久精品午夜青青大伊人| 久久中国妇女中文字幕| 成人网页在线免费观看| 隔壁老王国产在线精品| 欧美性受xxx| 日本中文字幕不卡免费| 影音先锋日韩有码| 国产视频精品一区二区三区| 久久久中文字幕| 久久亚洲精品一区二区| 国产成人自拍视频在线观看| 欧美国产日本高清在线| 日韩精品中文字幕视频在线| 日韩在线视频二区| 亚洲一区二区三区sesese| 一本一本久久a久久精品综合小说| 日韩一区av在线| 欧美日韩国产中字| 国产丝袜精品第一页| 久久久久久有精品国产| 韩剧1988在线观看免费完整版| 欧美电影《睫毛膏》| 精品国产依人香蕉在线精品| 亚洲xxxx视频| 日韩欧美黄色动漫| 欧美日韩在线视频观看| 亚洲天天在线日亚洲洲精| 97在线观看视频| 日韩精品中文字幕有码专区| 亚洲成人aaa| 欧美高清一级大片| 91免费的视频在线播放| 中文字幕自拍vr一区二区三区| 91性高湖久久久久久久久_久久99| 日本最新高清不卡中文字幕| 久久久久亚洲精品成人网小说| 中日韩美女免费视频网址在线观看| 成人国产在线激情| 亚洲免费av片| 亚洲一区二区免费| 亚洲欧美日韩中文视频| 日韩在线视频免费观看高清中文| 亚洲天堂av网| 91精品国产91久久久久久久久| 久久久久久亚洲精品中文字幕| 亚洲2020天天堂在线观看| 欧美精品一二区| 午夜精品久久久久久久99热| 国产精品视频久久久| 欧美性xxxx极品hd欧美风情| 久久亚洲精品网站| 国产精品流白浆视频| 成人午夜激情免费视频| 国产一区欧美二区三区| 97国产成人精品视频| 欧美视频在线看| 亚洲xxxxx性| 日本久久91av| 国产日韩在线看| 亚洲自拍欧美另类| 国产激情久久久| 中文字幕亚洲一区在线观看| 亚洲开心激情网| 色婷婷成人综合| 日韩中文字幕不卡视频| 日韩最新av在线| 国产在线精品一区免费香蕉| 国产精品欧美日韩一区二区| 亚洲精品国产精品久久清纯直播| 久久久亚洲欧洲日产国码aⅴ| 色久欧美在线视频观看| 国产精品88a∨| 欧美黑人性生活视频| 日韩亚洲欧美中文在线| 精品国产成人在线| 亚洲第一免费网站| 国产精品一香蕉国产线看观看| 精品视频久久久| 81精品国产乱码久久久久久| 欧美性做爰毛片| 亚洲视频欧洲视频| 日韩欧美精品免费在线| 欧美激情一区二区三区久久久| www高清在线视频日韩欧美| 久久天堂av综合合色| 亚洲精品videossex少妇| 日韩欧美在线第一页| 国产精品久久久久久久久| 国产精品劲爆视频| 亚洲激情视频在线观看| 国产免费一区二区三区在线能观看| 精品无码久久久久久国产| 国产日韩精品入口| 国产精品视频一区国模私拍| 有码中文亚洲精品| 国产精品久久久久高潮| 91免费看国产| 成人激情电影一区二区| 欧美精品福利在线| 亚洲自拍av在线| 亚洲性生活视频| 精品久久久久久亚洲国产300| 国产精品黄页免费高清在线观看| 久久天天躁夜夜躁狠狠躁2022| 色婷婷久久一区二区| 色综合久久天天综线观看| 精品久久久久久久久久久久久| 亚洲天堂第二页| 成人在线视频福利| 久久这里只有精品99| 久久成人精品一区二区三区| 欧美色图在线视频| 色琪琪综合男人的天堂aⅴ视频| 国产一区二区三区久久精品| 欧美成人精品影院| 亚洲精品wwwww| 国产精品偷伦免费视频观看的| 中文字幕亚洲综合久久| 久久久国产视频| 欧美午夜视频在线观看| 成人午夜黄色影院| 久久久国产精彩视频美女艺术照福利| 爽爽爽爽爽爽爽成人免费观看| 久久影院资源站| 日韩小视频在线| 国产精品中文久久久久久久| 国产91成人video| 7777免费精品视频| 91精品国产高清久久久久久91| 在线视频日本亚洲性| 国产精品自拍偷拍视频| 欧美综合国产精品久久丁香| 欧美激情第99页| 欧美黑人巨大xxx极品| 高清一区二区三区日本久| 色综合久久悠悠| 成人疯狂猛交xxx| 久久久久久91香蕉国产| 欧美性猛交丰臀xxxxx网站| 欧洲亚洲在线视频| 欧美大人香蕉在线| 国产欧美日韩精品丝袜高跟鞋| 中文字幕日韩精品有码视频| 国产欧美一区二区| 日韩国产欧美精品在线| 国产精品日韩av| 尤物99国产成人精品视频| 国产视频亚洲精品| 亚洲天天在线日亚洲洲精| 日韩极品精品视频免费观看| 麻豆精品精华液| 欧美超级乱淫片喷水| 中文字幕亚洲第一|