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

Problema con servlet que muestra imagen al recargar

Estas en el tema de Problema con servlet que muestra imagen al recargar en el foro de Java en Foros del Web. Hola a todos, mi problema es el siguiente: Estoy haciendo una web con JSF en la cual muestro una serie de imágenes, las cuales muestro ...
  #1 (permalink)  
Antiguo 08/04/2010, 15:58
 
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
Problema con servlet que muestra imagen al recargar

Hola a todos, mi problema es el siguiente:
Estoy haciendo una web con JSF en la cual muestro una serie de imágenes, las cuales muestro a través de un servlet, ya que las mismas las obtengo desde una instancia de una clase entidad.
Estas imágenes las muestro en la web dentro de un commandbutton, el cual al realizar clic ejecuta un método que se encuentra en un Bean, hasta ahi todo de 10, el problema es que cuando ejecuto el metodo y se recarga la pagina, el servlet que muestra la imagen no se vuelve a instanciar, por ende me muestra el texto alternativo a la imagen.
A continuación le muestro mi código:

primero el servlet:

public class ImageServlet extends HttpServlet {

private int heigth = 100;
private int width = 100;
private int serviceCounter = 0;
private long interval = 500;

protected void processRequest(HttpServletRequest req, HttpServletResponse res)
throws ServletException, java.io.IOException {

res.setContentType("image/jpeg");
ServletOutputStream bufferSalida = res.getOutputStream();
ImageIcon imagen = CatalogoArticulosBean.getInstancia().getImagenArti culo(Integer.valueOf(req.getParameter("idx")));

// Convierto Image a BufferedImage
BufferedImage bImg = new BufferedImage(width, heigth, BufferedImage.TYPE_INT_RGB);
Graphics2D bufImageGraphics = bImg.createGraphics();
bufImageGraphics.drawImage(imagen.getImage().getSc aledInstance(width, heigth, Image.SCALE_DEFAULT), 0, 0, null);

ChartUtilities.writeBufferedImageAsJPEG(bufferSali da, bImg);

bufferSalida.flush();
bufferSalida.close();
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
processRequest(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
processRequest(request, response);
}
}

ahora el JSP (este archivo despues lo incluyo en otro JSP):

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<jsp:useBean id="catalogoArticulosBean" scope="session" class="catalogo.CatalogoArticulosBean" />

<f:subview id="catalogoCentro">
<h:form id="botoneraArt">
<table>
<tr>
<td align="center">
<h:commandButton id="flechaUp" image="imagenes/iconos_barra/up.png" title="Desplazamiento" immediate="true" action="#{catalogoArticulosBean.flechaArriba}"/>
</td>
</tr>
<tr>
<td align="center">
<h:commandButton id="imagen1" image="faces/imagen1?idx=1" title="#{catalogoArticulosBean.stock1}" immediate="true"/>
</td>
</tr>
<tr>
<td align="center">
<h:commandButton id="imagen2" image="faces/imagen2?idx=2" title="#{catalogoArticulosBean.stock2}" immediate="true"/>
</td>
</tr>
<tr>
<td align="center">
<h:commandButton id="imagen3" image="faces/imagen3?idx=3" title="#{catalogoArticulosBean.stock3}" immediate="true"/>
</td>
</tr>
<tr>
<td align="center">
<h:commandButton id="imagen4" image="faces/imagen4?idx=4" title="#{catalogoArticulosBean.stock4}" immediate="true"/>
</td>
</tr>
<tr>
<td align="center">
<h:commandButton id="flechaDown" image="imagenes/iconos_barra/down.png" title="Desplazamiento" immediate="true"/>
</td>
</tr>
</table>
</h:form>
</f:subview>

el problema es, como explique anteriormente, cuando ejecuto el action="#{catalogoArticulosBean.flechaArriba} del primer commandbutton (en el cual retorno un null para que recargue la pagina) me la carga nuevamente pero no me muestra las imagenes (no instancia el servlet de los demas commandbuttons)

Desde ya muchas gracias!

saludos

Etiquetas: jsf, jsp, recarga, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:25.