对了,使用此页面的方法如下:
<img src="showimage.jsp?picture_id=1147">

解决方案 »

  1.   

    (IE)Tools->Internet options->General->setting->Every time visit the page->apply
      

  2.   

    to:gzwrj(我无知,所以我有智慧.) 
    还是不行呀
      

  3.   

    <%@ page import="java.util.Date,java.sql.*,com.brjl.database.*,oracle.sql.*"%>
    <jsp:useBean id="param" scope="page" class="com.brjl.utils.ParamUtils"/>
    <%
        int pictureId=param.getIntParameter(request,"picture_id",0);
        JdbcConnect myQuery=new JdbcConnect();
        ResultSet rs = myQuery.executeQuery("SELECT * FROM picture where picture_id="+pictureId);
        int length = 0;
        if (rs.next()) 
        {
            BLOB my_blob = (BLOB)rs.getObject("picture");
            length = (int)my_blob.length();
            byte [] byte_array  = my_blob.getBytes(1, length);        response.setContentType("image/jpeg");
        
            ServletOutputStream sos = response.getOutputStream();       for(int i=0;i<byte_array.length;i++)
           {
               sos.write(byte_array[i]);
           }
    //****************************************************//
    sos.flush();
    //*****************************************************//
        }
        rs.close();
    %>
      

  4.   

    现在图片到是完整的出来了,但是却经常出错,问题仍没有解决,错误如下:怎么办?A Servlet Exception Has Occurred
    Exception Report:
    javax.servlet.ServletException: Servlet execution threw an exception
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:225)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
    at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
    at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:242)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2038)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:811)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:890)
    at java.lang.Thread.run(Thread.java:536)Root Cause:
    java.lang.IllegalStateException: getOutputStream() has already been called for this response
    at org.apache.catalina.connector.ResponseBase.getWriter(ResponseBase.java:628)
    at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:166)
    at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:158)
    at org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:205)
    at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:216)
    at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:114)
    at _0002fshowimage_0002ejspshowimage_jsp_19._jspService(_0002fshowimage_0002ejspshowimage_jsp_19.java:127)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:181)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:393)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
    at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
    at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:242)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2038)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:811)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:890)
    at java.lang.Thread.run(Thread.java:536)HTTP/1.1 304 Not Modified Content-Length: 0 Connection: close Date: Tue, 30 Apr 2002 01:35:23 GMT Server: Apache Tomcat/4.0-m5 (HTTP/1.1 Connector)
      

  5.   

    你要使用sos.close()关闭输出流的呀!