response.getOutputStream().write(b,0,len); 是向整个页面写入数据流,所以你这样页面里永远只有图片。解决方法,在另外一个页面里利用<img src="">标签来引用你这个图片显示页面就可以了,你明白了吗?ps:把分都给我吧:)

解决方案 »

  1.   

    如果显示的不只是一张图片,为何只能显示第一张图片,其他显示不出来,什么原因?
    下面的代码怎么改?<%out.println("你好!");%>
    <%
    String id,sql;
    id=request.getParameter("1");
    sql="select image from pic where id=1";
    ResultSet rs=sqlbean.executeQuery(sql);
    byte[] Buffer=new byte[1024*10];
    int iSize;
    while (rs.next()){
    InputStream InData=rs.getBinaryStream("image");
    OutputStream outData=response.getOutputStream();
    while((iSize=InData.read(Buffer,0,Buffer.length))>0)
    outData.write(Buffer,0,iSize);
    outData.flush();
    response.flushBuffer();
    //InData.close;
    %>
    <br>
    <hr>
    <%
    }
    rs.close();
    %>
      

  2.   

    同意“努力赚钱”的意见把<img src="">加在你的<tr><td></td></tr>里src="显示图片的jsp"
      

  3.   

    to outiejun(努力赚钱) 
    是这样的吗?
    可还是不行啊!!<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <%@  page  import="java.io.*"%> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <style type="text/css">
    <!--
    body {
    margin-left: 0px;
    margin-top: 0px;
    }
    -->
    </style></head><body><center>
    <table width="58%" height="29%" border="0" align="center" bgcolor="#00FF66">
      <tr>
        <td width="100%" align="center" valign="middle"><img width="200" height="200" src="   
         <%    
    try  {   
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection("jdbc:odbc:TRSIP");  
    String  cmd="select  picContent  from  Pictures  where docID ='200104300004'";  
    PreparedStatement  sql=con.prepareStatement(cmd);    
    ResultSet  rs  =  sql.executeQuery();    
    rs.next();    
    InputStream  in  =  rs.getBinaryStream("picContent");    
    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();    
    }  
    catch(Exception  e)  
    {  out.println(e);}  
    %>"> 
    </td>
      </tr>
      <tr>
        <td align="center" valign="middle">&nbsp;</td>
      </tr>
    </table>
    </center>
    </body>
    </html>
      

  4.   

    不,是这样:a.jsp是图片显示页b.htm里在你想显示图片的位置写:
    <img src="a.jsp">明白?
      

  5.   

    最好用servlet,你是不是常报:outputStream被占用的异常?