Exibição de imagens através de servlet

3 respostas
gustavodelgado

Olá pessoal…

Fiz um servlet que lê uma imagem do servidor, e quero exibir esta imagem em um ponto qualquer de uma página em JSF. A dúvida é: como fazer a chamada ao servlet no componente de imagem? Colocando a URL dele direto na barra de endereços do navegador, a imagem aparece corretamente, mas não sei como fazer para mostrá-la no meio de uma página.

O servlet está assim:

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        final String sFile="C:\\gustavo\\fotos\\jp1modificado.jpg";
        
        response.setHeader("Cache-Control","no-store");
        response.setContentType("image/jpeg");
        ServletOutputStream out = response.getOutputStream();
        InputStream imageIn = new FileInputStream(new File(sFile));
        JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);
        BufferedImage image = decoder.decodeAsBufferedImage();
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        encoder.encode(image);
        out.close();
    }

Se eu tiver por exemplo:
<h:graphicImage id=“image1” value=""/>

O que eu coloco no value?

3 Respostas

normandesjr

Amigo,

em vez de você colocar no value coloque na propriedade url de graphicImage, por exemplo:

<h:graphicImage url="/seuServlet"/>

Abraços.

gustavodelgado

Desculpe, havia dito que não funcionou, mas vi que estava fazendo besteira aqui… heheh, deu certinho do jeito que vc falou.
Obrigado!!

normandesjr

Opa… que bom que funcionou!

Abraços!!!

Criado 11 de outubro de 2007
Ultima resposta 11 de out. de 2007
Respostas 3
Participantes 2