在index.jsp中(假设你的页面是叫这个名字)增加一行要显示的图片
<img src="listphoto.jsp?id=123">在listphoto.jsp中
<%@ page contentType="image/jpeg"%><%
OutputStream os = response.getOutputStream();
然后从数据库中读取这个字段的值,全部write到os里面
%>

解决方案 »

  1.   

    ChDw(米),以下是我的代码,请各位帮忙!环境:resin+win2k+sql_server
    <%@  page  language="java"  import="java.sql.*"%>    
    <%@  page  import="java.io.*"%>    
    <%@  page  contentType="text/html;charset=gb2312"%>  
     
    <%    
    try  {  String  id="2";
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://server:1433;DatabaseName=Northwind","sa","");
    String  cmd="select  Photo  from  Employees WHERE  employeeid  ="+id; 
    out.print(cmd);PreparedStatement  sql=con.prepareStatement(cmd);    
    ResultSet  rs  =  sql.executeQuery();    
    rs.next();    
    InputStream  in  =  rs.getBinaryStream("Photo");    
    response.reset();    
    response.setContentType("image/jpeg");    
    byte[]  b  =  new  byte[500*1024];    
    int  len;    
    while((len=in.read(b))  >0)    
    response.getOutputStream().write(b,0,len);    
    in.close();    
    rs.close();    
    }  
    catch(Exception  e)  
    {  out.println(e);}  
     
    %>  
    谢谢啦,
      

  2.   

    http://expert.csdn.net/Expert/topic/1155/1155555.xml?temp=.6460535
      

  3.   

    根据斑竹提示的我的代码如下,但是仍旧没有显示图片!我想northwind中的图片不会是空的吧,还有程序没有报错,怎么回事呢?test1.jsp如下:
    ————————————————————————————
    <%@ page language="java" import="java.sql.*"%> 
    <%@ page import="java.io.*"%> 
    <%@  page  language="java"  import="java.sql.*"%>    <%   
    String  id="1";
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://server:1433;DatabaseName=Northwind","sa","");
    String  cmd="select  Photo  from  Employees WHERE  employeeid  ="+id; 
    PreparedStatement  sql=con.prepareStatement(cmd);    
    ResultSet  rs  =  sql.executeQuery();    
    rs.next();    
         InputStream in = rs.getBinaryStream("Photo"); 
         response.reset(); 
         response.setContentType("image/jpeg"); 
         byte[] b = new byte[1024]; 
         int len; 
     while((len=in.read(b)) >0) 
     response.getOutputStream().write(b,0,len); 
     in.close(); 
     rs.close(); 
    %>
    test2.jsp如下:
    ——————————————————————
    <%@ page contentType="text/html;charset=gb2312"%>
    <table>
     <tr>
      <td><img src="<%@ include file="test1.jsp"%>" width=100 height=100 ></td>  
     </tr>
     <tr>
      <td>这里的汉字无法显示</td>
      </tr>
    </table>
      

  4.   

    test1.jsp和test2.jsp在同一目录下吗?
      

  5.   

    是啊,当然了,不然你可以试一试(如果你的程序环境和我的一样),呵呵。
    我的程序环境是 resin + win2k +sql-server
      

  6.   

    我增经用JRun做过同样的事情想从SQLserver中取出图片,但是我发现如果用JRun的话在引入OutputStream os = response.getOutputStream()后就会报一个异常,不过可以用其它方法把图片从数据库中读出后保存为一个图片就不会出现这种问题,现在我认为可以有两种方法去尝试第一种是保存为一个图片文件然后在HTML中引入该文件另一种是写一个servlet去读取文件然后用JSP调用这个servlet显示图片。不知道各位认为可否。
      

  7.   

    需不需要把byte[]转为Image呢?大家看呢?
      

  8.   

    Kick_hotdog(khd)能不能帮我修改修改呢?谢谢了先。
      

  9.   

    对了,斑竹,ICEMAN09和我通过短信对这个问题进行过交流,并给我许多帮助,谢谢ICEMAN09和热心的网友们!结帐了。