2012-05-04 48 views
0

我只是試圖從數據庫中檢索圖像並顯示它。我寫了下面的代碼:從mysql數據庫中恢復圖像並將其顯示在html頁面中

RetreiveImage.java 

    import myconnection.ConnetionDefault; 
    import java.sql.*; 
    import java.io.*; 
    import javax.servlet.*; 
    import javax.servlet.http.*; 
    public class RetreiveImage extends HttpServlet{ 
    public void doGet(HttpServletRequest request, HttpServletResponse response)   throws   ServletException, IOException{ 
    PrintWriter out = response.getWriter(); 
    Connection con=null; 
    String id=request.getParameter("id"); 
    try{ 
    con=ConnetionDefault.getConnection(); 
    ResultSet results = null; 
    PreparedStatement ps = null; 
    ps = con.prepareStatement("select picture from pic_229084519 where pic_id=?"); 
    ps.setString(1,id); 
    results = ps.executeQuery(); 
    String imgLen=""; 
    if(results.next()){ 
    imgLen = results.getString(1); 
    System.out.println(imgLen.length()); 


    int len = imgLen.length(); 
    byte [] rb = new byte[len]; 
    InputStream readImg = results.getBinaryStream(1); 
    int index=readImg.read(rb, 0, len); 
    System.out.println("index"+index); 
    ConnetionDefault.close(results,ps,con); 
    response.reset(); 
    response.setContentType("image/jpg"); 
    response.getOutputStream().write(rb,0,len); 
    response.getOutputStream().flush(); 

    RequestDispatcher rd=request.getRequestDispatcher("gg.html"); 
    rd.forward(request,response); 
    } 
    } catch (Exception e){ 

    e.printStackTrace(); 
    } 
    } 
    } 

    retImagel.html 

    <html> 
    <head> 
    <title>Login</title> 

    </head> 
    <body bgcolor="Gold"> 
    <center> 

    <form action="ret.pic"> 
    <table> 
    <tr><th>Namme</th><td><input type="text" name="id" size="3"/></td><td></td> 

    <td><input type="submit" value="Get"></td><td><input type="reset"  value="Cancel"/></td></tr> 
    </table> 
    </form> 

    </center> 
    </body> 
    </html> 

    gg.html 

    <html> 
    <head> 
    <title>Login</title> 

    </head> 
    <body bgcolor="Gold"> 

    <img src="/ret.pic?id=${id}"/> 
    </center> 
    </body> 
    </html> 

我的問題是在默認響應頁面的顯示圖像。但我希望它在gg.html我要去錯了..請幫助我。

回答

0

在你的web.xml中設置過濾器來調用你的servlet。

在您gg.html網頁中插入標籤< IMG「的網址,以形象,過濾器可以intersept」>

+0

感謝,但我不是讓烏爾點..請你也會寫實際的代碼? –

相關問題