je veux appeler une image blob depuis ma bdd pour cela j'ai une servlet qui extrait l'image et je veux l'appeler dans ma jsp par la balise <img src=""/> mais rien ne s'affiche

DisplayBlobServlet.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
 
        HttpSession session = request.getSession();
        etudiant s = (etudiant)session.getAttribute("bachelier");
 
        String query = "select photo from etudiant where bac='"+s.getBac()+"'";
        ServletOutputStream out = response.getOutputStream();
 
 
        try {
            stat = cnx.prepareStatement(query);
            rslt = stat.executeQuery(query);
            if (rslt.next()) {
                photo = rslt.getBlob(1);
            } else {
                response.setContentType("text/html");
                out.println("<body><h1>pas de photo</h1></body></html>");
                return;
            }
 
 
            response.setContentType("image/jpg");
 
            try {
                in = photo.getBinaryStream();
            } catch (SQLException ex) {
                Logger.getLogger(DisplayBlobServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
            int length = (int) photo.length();
 
 
            int bufferSize = 1024;
            byte[] buffer = new byte[bufferSize];
 
 
            while ((length = in.read(buffer)) != -1) {
                System.out.println("writing " + length + " bytes");
                out.write(buffer, 0, length);
            }
 
 
            in.close();
            out.flush();
        } catch (SQLException e) {
            response.setContentType("text/html");
            out.println("<html><head><title>Error: Person Photo</title></head>");
            out.println("<body><h1>Error=" + e.getMessage() + "</h1></body></html>");
            return;
        } finally {
            try {
                rslt.close();
                stat.close();
                cnx.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
 
 
    }
jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<legend>Photo</legend>
<img class="photo" id="idPhoto" src="/prjBrsCom/DisplayBlobServlet" alt="votre image"/>
je ne reçoit que le contenu de alt: "votre image"