Foros del Web » Programación para mayores de 30 ;) » Java »

Mostrar en una etiqueta img la imagen mostrada desde una servlet

Estas en el tema de Mostrar en una etiqueta img la imagen mostrada desde una servlet en el foro de Java en Foros del Web. Hola, estoy intentando mostrar una imagen seleccionada de la base de datos y que se muestre en una etiqueta img. La imagen ya tengo el ...
  #1 (permalink)  
Antiguo 20/12/2016, 05:24
 
Fecha de Ingreso: octubre-2013
Mensajes: 45
Antigüedad: 3 años, 6 meses
Puntos: 0
Mostrar en una etiqueta img la imagen mostrada desde una servlet

Hola,

estoy intentando mostrar una imagen seleccionada de la base de datos y que se muestre en una etiqueta img.
La imagen ya tengo el codigo que la muestra pero me la muestra a tamaño grande y sin poder mostrar nada mas en la pagina.
Mi idea es ponerla en una etiqueta img para poder formatear el tamaño y ademas añadir mas contenido html a la pagina.

Lo estoy tratando de hacer asi he puesto en una servlet todo el codigo para hacer el select a la imagen y mostrarla con outputStream. Luego busco llevarla a una etiqueta img en un JSP, pero no se en la src como llamar a la servlet.

No se si la estructura servlet y llamarla desde el src de la etiqueta img esta correcta. O hay otra forma mas eficaz de que funcione?

(no subo codigo porque el lado de mostrar la imagen ya me sale y solo faltaria que poner en el atributo src)

Gracias por las ideas :)
  #2 (permalink)  
Antiguo 20/12/2016, 09:14
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 5 años, 4 meses
Puntos: 24
Respuesta: Mostrar en una etiqueta img la imagen mostrada desde una servlet

En el "src" tenes que poner la misma URL que pones en el navegador para obtener la imagen:

Por ejemplo, si la URL es https://dummyimage.com/16:9x1080/ , en el atributo pones lo mismo.

En navegador se va a encargar de hacer una petición HTTP a esa URL y vos tenes que retornar una imagen.



Si no se entiende, el servlet que se encarga de manejar la petición para la URL de la imagen, tiene que retornar una imagen.

De esta manera, podes hacer un servlet que se encargue de retornar imagenes y los JSP no necesitarían cargar la imagen de la base de datos.



Preguna: ¿Es necesario guardar las imágenes en la base de datos?.
  #3 (permalink)  
Antiguo 21/12/2016, 02:51
 
Fecha de Ingreso: octubre-2013
Mensajes: 45
Antigüedad: 3 años, 6 meses
Puntos: 0
Respuesta: Mostrar en una etiqueta img la imagen mostrada desde una servlet

Muchas gracias!

tan obvio ahora que lo cuentas :) pero la de vueltas que me has ahorrado!

Perdona sobre la ultima opcion que has comentado, yo en un principio lo estaba tratando de cargar y mostrar la imagen todo desde un servlet. Pero me encontraba en que la imagen la muestra en tamaño grande tapando los otros campos que seleccionaba de la base de datos. O sea las etiquetas html no mostraban nada desde la servlet.

Si me indicas como hacerlo y como mostrar ademas de las imagenes los otros campos de la tabla como el nombre de la imagen te lo agredeceria.

Gracias :)
  #4 (permalink)  
Antiguo 21/12/2016, 06:39
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 5 años, 4 meses
Puntos: 24
Respuesta: Mostrar en una etiqueta img la imagen mostrada desde una servlet

Cita:
Perdona sobre la ultima opción que has comentado, yo en un principio lo estaba tratando de cargar y mostrar la imagen todo desde un servlet.
Yo te recomendaría que hagas dos servlets. El primero retorna la pagina en si, sin haber cargado las imágenes, pero estableciendo el atributo src de cada etiqueta img. El segundo retornaria las imagenes correspondientes a cada url establecida en los atributos src que estableció el primero.

Ejemplo:

El primer servlet retorna:

Código HTML:
Ver original
  1.   ...
  2. </head>
  3.   ...
  4.     <img src="/imagenes/5.png">
  5.     ...
  6.     <img src="/imagenes/6.png">
  7.     ...
  8.     <img src="/imagenes/32.png">
  9.  
  10.   ...
  11. </body>
  12. </html>

El segundo retornaria las imagenes correspondientes a las url:
  • /imagenes/5.png
  • /imagenes/6.png
  • /imagenes/32.png





En caso de que la imagen sea grande, debería corres lo demás campos y no superponerse, a menos que la imagen tenga el atributo CSS float establecido.

Con respecto a el tamaño, te recomiendo que lo controles mediante CSS:

Ejemplo (Lo mejor es separar el código CSS en un archivo aparte):

Código HTML:
Ver original
  1. <img src="url de la imagen" style="height:30px; width:30px; max-width:30px; max-height:30px;">



La zona horaria es GMT -6. Ahora son las 03:18.