style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Problema a la hora de cargar campo BLOB en JSP

Buenas a todos,tengo un serio inconvenite y es que no puedo mostrar mis imagenes en JSP

Es es mi codigo,agradeceria su ayuda a ver si me pueden echar una manita con esto he estado cerca de 4 horas tratando por todos lo medios de que funcione pero nada

Gracias de antemano,cualquier pista que me binden se agradece!!!

.
<%@page import="java.io.OutputStream"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Blob"%>
<%@page import="java.io.InputStream"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="DAO.productoDAO"%>
<%
    productoDAO mProducto = new productoDAO();
    ResultSet listaProductos = mProducto.listarProductos();

    Blob image = null;
    byte[] imgData = null;
    OutputStream o = null;

    while (listaProductos.next()) {
%>

<div class="new_prod_box"><%out.println(listaProductos.getString("nombre"));%>
    <div class="new_prod_bg">
        <a ><img src="images/thumb1.gif" alt="" class="thumb" border="0" /></a>  
    </div>

    <%

        try {

            image = listaProductos.getBlob("imagen");
            imgData = image.getBytes(1, (int) image.length());

            response.setContentType("image/png");
            o = response.getOutputStream();//INTENTE HACIENDO DEBUGEO PARA VER HASTA DONDE LLEGABA Y LLEGA HASTA AQUI
            o.write(imgData);
            o.flush();
            o.close();
        } catch (Exception e) {
            out.println("Unable To Display image");
            out.println("Error=" + e.getMessage());
            return;
        }
    %>

    <input type="button" name="btn_comprar" value="comprar" onclick="agregarProductoCarrito(<%=listaProductos.getString("cod_producto")%>,'<%=listaProductos.getString("nombre")%>',<%=listaProductos.getInt("fk_id_marca")%>,<%=listaProductos.getDouble("precio_compra")%>,<%=listaProductos.getDouble("precio_venta")%>,<%=listaProductos.getDouble("descuento")%>,<%=1%>)"/>
</div>
<% }%>

.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Un servlet !

Alguna vez hice una galeria de fotos que querian a huevo que se almacenaran en DB. Lo que hice fue hacer un servlet que su misión unica y exclusivamente era traer una imagen y mostrarla.

¿Que hacia? Pos consultar la tabla y extraer el BLOB y despues enviarla al outputStream del servlet con el encabezado de imagen (algo asi como response.setContentType("image/jpeg")

¿Como obtenia la imagen? Con un identificador en el request, por ejemplo si visitabas la direccion http://java.daba.doo/imagen?id=123 lo que veias era una imagen como si consultaras una imagen alojada fisicamente en disco en un servidor (de eso se encargaba el servlet) de tal manera que para meterlo en una pagina solo tenias que hacer <img src="http://java.daba.doo/imagen?id=123" ... y la magia ocurria

Claro que en ese caso tuve que validar que la imagen fuera de X propietario y que tuviera privilegios de visualizacion y que ñan ñam ñaaam, etc.

 
 


Editado
Con ese concepto, puedes obtener cualquier archivo alojado en DB, solo modifica el header de acuerdo al tipo de archivo y tan tan (como imagen, videos, musica, documentos, etc)

Imagen de 1a1iux

De acuerdo, un servlet

Una imagen en una página HTML, o bien, en un JSP es un recurso externo, otro archivo, otro URL.

La forma de desplegar una imagen en una página es con el tag IMG. En este tag el atributo SRC especifica cuál es la fuente de la imagen, casi siempre se hace referencia a archivos estáticos, imágenes previamente creadas, pero por supuesto se puede poner cualquier URL. En este caso lo que comenta java.daba.doo es que pongas allí la ruta del servlet que pinta la imagen.

Bueno, se me pasó comentar lo siguiente... te recomiendo que primero pruebes que tu servlet funciona correctamente antes de incorporalo en el JSP. Puedes escribir la ruta del servlet directamente en el browser, y debes ver como resultado la imagen.

Sale y vale
Byte

Imagen de The man

Esa era la jugada!!!!

Muchisimas gracias a los 2,ya monte lo que tenia que montar y quedo muy bien,seguro dentro de un rato subo el codigo para alguna otra persona con mi predicamento

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">