http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=53509

解决方案 »

  1.   

    <%-- showlogo.jsp --%>
    <%@ page language="java" import="java.sql.*,java.util.*,java.io.*" %>
    <% String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
    String user = "sa";
    String password = ""; InputStream in = null;
    ServletOutputStream sop = null;
    try 
    {
    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, user, password);
    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
    String sql = "select * from pub_info where pub_id = '9901'";
    ResultSet rs = stmt.executeQuery(sql);
    if (rs.next())
    {
    in = rs.getBinaryStream("logo");
    response.setContentType("image/jpeg");
    sop = response.getOutputStream();
    int len;
    byte[] buf = new byte[1024];
    while ((len = in.read(buf, 0, 1024)) != -1)
    {
    sop.write(buf, 0, len);
    }
    }
    sop.close();
    in.close();
    rs.close();
    stmt.close();
    conn.close();
    }
    catch (Exception exc)
    {
    out.println("An error occurs : " + exc);
    }
    %>
    in your html<img src="showlogo.jsp">
      

  2.   

    为什么我总显示成乱码??我的JSP文件如下:
    <%if(employeeView.getPhotograph()!=null){
    try{
    java.io.File file = new java.io.File("d:/s.jpg");
            java.io.FileInputStream fin = new java.io.FileInputStream(file);
            byte[] but = new byte[fin.available()]; fin.read(but); response.setContentType("image/jpeg");
    javax.servlet.ServletOutputStream imag=response.getOutputStream(); imag.write(but);
    imag.flush();
    imag.close();
    }
    catch(Exception e){e.printStackTrace();}
    }
    %>为了保证图片是正确的,我是从硬盘中获得的图片,但还是不行!