数据库里的图像显示问题

ymblue_boy 2001-10-09 03:51:33
jsp中,怎样将数据库里的图像显示在页面上?图像字段为Picture 属性:image
...全文
53 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ymblue_boy 2001-10-25
谢谢你.
回复
czb 2001-10-17
看下我写的吧,我的字段名为photo.你的分数也真少啊。
//photo.jsp
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>相片</title>
</head>

<body>
<%
String id=request.getParameter("id");
%>
<img src="/homepage/servlet/photo?id=<%=id%>">
</body>

</html>

//photo.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.io.*;

public class photo extends HttpServlet
{
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
public void init(ServletConfig conf) throws ServletException
{
super.init(conf);

try{
Class.forName("org.gjt.mm.mysql.Driver");
}catch(ClassNotFoundException e){}
String url="jdbc:mysql://localhost:3306/Sample?user=root;password=";
// String user="root",password="";
try{
conn=DriverManager.getConnection(url);
pstmt=conn.prepareStatement("select photo from person where id=?");
}catch(SQLException e){System.err.println("Something is error!");}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
int id=Integer.parseInt(request.getParameter("id"));
int length;
InputStream is=null;
byte[] buffer=new byte[4096];
response.setContentType("images/*");
DataOutputStream os=null;
try{
pstmt.setInt(1,id);
rs=pstmt.executeQuery();
os=new DataOutputStream(response.getOutputStream());
is=rs.getBinaryStream("photo");
}catch(SQLException e){}
while((length=is.read(buffer))!=-1)
{
os.write(buffer,0,length);
os.flush();
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doGet(request,response);
}
public void destroy()
{
try{
rs.close();
pstmt.close();
conn.close();
}catch(SQLException e){}
}
}
回复
ymblue_boy 2001-10-16
我在网上找了,但资料很少。
回复
redstarstar 2001-10-09
两种方法:
1.从数据库中用流将图像读出来,写成文件放在服务器端,再在jsp中给出图像的地址。
2.从数据库中用流将图像读出来,通过servlet直接将图像输出到网页(这种方法你查查书)
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-10-09 03:51
社区公告
暂无公告