Carregar imagem do banco na página jsp

2 respostas
jose35

Alguém poderia me ajudar como faço para carregar a imagem na página?

Método Dao carregar todos os dados do produto e imagem!

public Imagens getImagens (int codigo) throws SQLException,ClassNotFoundException{
    PreparedStatement comando = null;
    ResultSet registro = null;
    Produto produto = new Produto();
    Imagens imagens = new Imagens();
    try{
         conexao.setAutoCommit(false);
        comando = conexao.prepareStatement
                
                ("select produto.descricao,produto.modelo,produto.cor,produto.ano,produto.unidade,produto.preco,produto.expecificacao,"+
                "imagemproduto.titulo,imagemproduto.descricao,imagemproduto.imagem from produto"+
                "inner join imagemproduto on(imagemproduto.idproduto = produto.idproduto");
        comando.setInt(1, codigo);
        registro = comando.executeQuery();
        
        if (registro.next()){
            
            
            imagens.setCodigo (registro.getInt(1));
            imagens.setTitulo (registro.getString(2));
            imagens.setDescricao(registro.getString(3));
            
            /*Carregar imagem do banco para atributo imagem*/
            Blob blob =registro.getBlob(4);                   
            byte[] buffer = blob.getBytes(1, (int) blob.length());   
            imagens.setImagem(new ByteArrayInputStream(buffer));
            produto.setDescricao(registro.getString(5));
            produto.setModelo(registro.getString(6));
            produto.setCor(registro.getString(7));
            produto.setAno(registro.getString(8));
            produto.setUnidade(registro.getString(9));
            produto.setPreco(registro.getDouble(10));
            produto.setExpecificacao(registro.getString(11));
    }
        conexao.setAutoCommit(true);
         comando.close();
         registro.close();
         return imagens;
    }    
    catch (Exception e){
        System.out.println("Erro "+ e);
        return null;
    }
}

Método da Sevlet!!!

@WebServlet(name = “ImagemServlet”, urlPatterns = {"/ImagemServlet"})
public class ImagemServlet extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try{
       Imagens imagens =null;
       ImagensDao imagensDao = new ImagensDao();
            
       int codigo= (Integer) request.getSession().getAttribute("idimagem");
       //int codigo= Integer.parseInt(request.getParameter("idimagem"));
        imagens = imagensDao.getImagens(codigo); 
        ByteArrayInputStream imagem = imagens.getImagem();
                
       byte[] buffer = new byte [4096];
       while (imagem.read(buffer) != -1){
          response.getOutputStream().write(buffer);
          
      }
    } 
    catch (Exception e){
        System.out.println ("Erro: "+ e);
    }
    finally {   
        response.getOutputStream().flush();
      
      
    }
}

Método do Ben da session!!!

public String mostraImagens() throws SQLException, ClassNotFoundException {
    imagensDao.getImagens(imagens.getCodigo());
    return "gotoMostraImagens";
}

2 Respostas

orlandocn

qual problema ocorre?

ja tentou setar o mime?

response.setContentType("image/jpeg");
jose35

Já o problema é carregar a imagem na pagina jsp na tag!
<h:graphicImage id=“ServletImagem/imagem” value="#{imagemFace.imagens.imagem}">

Criado 13 de julho de 2011
Ultima resposta 13 de jul. de 2011
Respostas 2
Participantes 2