当前位置:首页 » 参考文献 » 数据库图片显示jsp

数据库图片显示jsp

发布时间: 2021-03-18 07:24:04

① 如何用JSP从SQL server数据库中读取图片并显示在网页上

你可以把图片的路径作为参数放在数据库的某一个字段中,需要用时提取出来即版可.
例如:
"image/pic1.jpg" 这是一个相对权路径,你把这个字符串存入数据库后,需要用时只需从数据库提取出来就行,
<img src="
<%
String str=select * from 表名 where 条件;
ResultSet rs = null;
Statement stmt = conn.createStatement();
rs=stmt.executeQuery(str);
str=rs.getString("字段名");
out.print(str);
%>">

② jsp中显示数据库中图片和文字

可以提前把图片和文字写好放在页面中,属性设为隐藏,调用的时候用js控制,把属性改为显示就行

③ 如何检索和显示数据库中的图像在 jsp 页中

用JSP从数据库中读取图片并显示在网页上:
环境mysql+tomcat:
<1>先在mysql下建立如下的table. 并insert图像
mysql.sql文件如下:
CREATE TABLE photo (
photo_no int(6) unsigned NOT NULL auto_increment,
image blob,
PRIMARY KEY (`photo_no`)
)

<2>把show.jsp放在tomcat的任意目录下. show.jsp作用:从数据库中读出blob,并产生image/jpg.
show.jsp文件如下:
<%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%
String photo_no = request.getParameter("photo_no");
//mysql连接
Class.forName("com.mysql.jdbc.Driver").newInstance();
String URL="jdbc:mysql://localhost:3306/job?user=root&password=111111";
Connection con = DriverManager.getConnection(URL);

//oracle连接
//String URL="jdbc:oracle:thin@localhost:1521:orcl2";
//user="system";
//password="manager";
//Connection con = DriverManager.getConnection(URL,user,password);

try{
// 准备语句执行对象
Statement stmt = con.createStatement();
String sql = " SELECT * FROM PHOTO WHERE photo_no = "+ photo_no;
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
Blob b = rs.getBlob("photo_image");
long size = b.length();
//out.print(size);
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else {
rs.close();
response.sendRedirect("./images/error.gif");
}
}
finally{
con.close();
}
%>

<3>把如下文件放在show.jsp的同一目录下.
index.html文件如下:
<HTML>
<HEAD>
<TITLE> 图像测试 </TITLE>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD>图像测试</TD>
</TR>
<TR>
<TD><img src="show.jsp?photo_no=2"></TD>
</TR>
</TABLE>
</BODY>
</HTML>

④ 怎么把数据库里的图片显示到jsp

从数据库中查找图片的二进制数据,把查找出来的数据set到会话request.getSession().setAttribute("img",图片的二进制数据 );

⑤ jsp显示数据库图片问题

你是把图片放到数据库里面吧?
一般来说,这个是没有错的。不过实际上,如果数据库放入大量图片,又会有那个服务器可以支持?
所以,一般来说,数据库里面的所谓图片,其实是该图片在服务器里面的一个路径位置,如c:\mypicture\01.jpeg。
然后在页面只是数据库中的路径,通过jsp或者html的标签实现页面显示功能。

⑥ 请问如何从mysql数据库中读取图片路径然后将图片显示在Jsp页面上

在添加一个字段用于记录图片路径,通过
sql语句
对表
进行查询,在jsp页面中显示相应字段。

⑦ 数据库中照片怎么在jsp中显示

用JSP从数据库中读取图片并显示在网页上:
环境mysql+tomcat:
<1>先在mysql下建立如下的table. 并insert图像
mysql.sql文件如下:
CREATE TABLE photo (
photo_no int(6) unsigned NOT NULL auto_increment,
image blob,
PRIMARY KEY (`photo_no`)
)

<2>把show.jsp放在tomcat的任意目录下. show.jsp作用:从数据库中读出blob,并产生image/jpg.
show.jsp文件如下:
<%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%
String photo_no = request.getParameter("photo_no");
//mysql连接
Class.forName("com.mysql.jdbc.Driver").newInstance();
String URL="jdbc:mysql://localhost:3306/job?user=root&password=111111";
Connection con = DriverManager.getConnection(URL);

//oracle连接
//String URL="jdbc:oracle:thin@localhost:1521:orcl2";
//user="system";
//password="manager";
//Connection con = DriverManager.getConnection(URL,user,password);

try{
// 准备语句执行对象
Statement stmt = con.createStatement();
String sql = " SELECT * FROM PHOTO WHERE photo_no = "+ photo_no;
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
Blob b = rs.getBlob("photo_image");
long size = b.length();
//out.print(size);
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else {
rs.close();
response.sendRedirect("./images/error.gif");
}
}
finally{
con.close();
}
%>

<3>把如下文件放在show.jsp的同一目录下.
index.html文件如下:
<HTML>
<HEAD>
<TITLE> 图像测试 </TITLE>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD>图像测试</TD>
</TR>
<TR>
<TD><img src="show.jsp?photo_no=2"></TD>
</TR>
</TABLE>
</BODY>
</HTML>

⑧ 读取保存在数据库里的图片JSP页面显示无法显示图片

我把你的代码稍微改造了下,我这边是可以显示图片的。代码如下:


数据库操作部分:

packagecom.database;

importjava.io.InputStream;
importjava.sql.*;

/**
*@作者王建明
*@创建日期13-10-7
*@创建时间下午12:32
*@版本号V1.0
*/
publicclassDataBaseUtil{
(){
Connectionconn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn=
DriverManager.getConnection("jdbc:mysql://localhost/quickstart","root","123456");
Statementstmt=conn.createStatement();
Stringsql="selectbook_imagefromtbl_bookwhereid=1";

ResultSetrs=stmt.executeQuery(sql);
if(rs.next()){
returnrs.getBinaryStream("book_image");
}

}catch(Exceptione){
System.out.println("出现异常:"+e.getMessage());
}finally{
try{
if(conn!=null)
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
returnnull;
}
}


servlet部分:

packagecom.servlet;

importcom.database.DataBaseUtil;

importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;

/**
*@作者王建明
*@创建日期13-10-7
*@创建时间下午12:18
*@版本号V1.0
*/
{
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doGet(request,response);
}

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
InputStreamin=DataBaseUtil.getImageStreamFromDataBase();
OutputStreamtoClient=response.getOutputStream();
response.reset();
response.setContentType("image/jpg");//或gif
intlen=10*1024*1024;
byte[]P_Buf=newbyte[len];
inti;
while((i=in.read(P_Buf))!=-1){
toClient.write(P_Buf,0,i);

}
in.close();
toClient.flush();
toClient.close();
}
}


web.xml中的servlet配置:

<servlet>
<servlet-name>ShowImage</servlet-name>
<servlet-class>com.servlet.ShowImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowImage</servlet-name>
<url-pattern>/showImage</url-pattern>
</servlet-mapping>


页面中加载图片方式:

<imgsrc="showImage"/>


希望对你有帮助O(∩_∩)O~

⑨ 从数据库中取出图片的二进制数据怎样显示在jsp页面各位大神,救急。。。

最好数据库中就存在图片的存储位置,这样取到图片时候就可以直接显示了,存储二进制太麻烦了。。。

⑩ jsp从数据库中读取图片显示不出来

/SkyShop/images/brand/2010/02/09/09/4599577f-7fca-4163-a752-24a3e331ea39.jpg
像一楼说的是正解,不行的原因可能是根的位置问题,自己对着检查一下。
另外你这个路径太长。。太不好测试了,先弄个简单点的。
你右键点图片,属性的地址应该是
http://localhost:8080/SkyShop/images/brand/2010/02/09/09/4599577f-7fca-4163-a752-24a3e331ea39.jpg
这个才是你的服务器上图片的地址。E:的是计算机的真实路径,和服务器上的绝对路径,相对路径不是一回事。服务器启动后,只能访问当前服务器路径之内的文件,而windows下打开html文件不受此限制,所以不能用计算机的路径。
保存到tomcat中就是保存到项目中了,如果你希望保存到源代码中,可以去改tomcat的server.xml配置文件,
<Context path="/" docBase="D:\workspace\SkyShop\ROOT"
debug="0" privileged="true">

</Context>
并删除webapps下的内容。
或者以流的方式将写到图片写到数据库中。

最后建议你去看看关于相对路径的文章,篇幅有限,说的还是不太清楚。

热点内容
涂鸦论文 发布:2021-03-31 13:04:48 浏览:698
手机数据库应用 发布:2021-03-31 13:04:28 浏览:353
版面217 发布:2021-03-31 13:04:18 浏览:587
知网不查的资源 发布:2021-03-31 13:03:43 浏览:713
基金赎回参考 发布:2021-03-31 13:02:08 浏览:489
悬疑故事范文 发布:2021-03-31 13:02:07 浏览:87
做简单的自我介绍范文 发布:2021-03-31 13:01:48 浏览:537
战略地图参考 发布:2021-03-31 13:01:09 浏览:463
收支模板 发布:2021-03-31 13:00:43 浏览:17
电气学术会议 发布:2021-03-31 13:00:32 浏览:731