2012-05-04 5 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에서 원한다. pls가 나를 도와 준다.

답변

0

servlet을 호출하도록 web.xml에 필터를 설정하십시오. 당신의 gg.html 페이지 삽입 태그 < IMG 내가 pls는 u는 실제 코드를 작성합니다 .. UR 포인트를받지 못했습니다>

+0

감사하지만 "필터 intersept 할 수있는 이미지의 URL"에

? –

관련 문제