Boa tarde, consegui gravar as imagens e até exibir a image, porém quando eu atualizo a pagina ou faço uma outra requisição a imagem desaparece e fica como se não existisse , meu servlet para recuperar a imagem é esse.
@WebServlet(name = "CarregaImagem", urlPatterns = {"/CarregaImagem"})
public class CarregaImagem extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// recupera a imagem do banco em um Array de Bytes
// String nada = request.getParameter("id");
Contas conta = (Contas) request.getSession().getAttribute("USUARIOLogado");
response.setHeader("Content-Type", getServletContext().getMimeType("image"));
response.setHeader("Content-Disposition", "inline; filename=\"" +conta.getId()+ "\"");
BufferedInputStream input = null ;
BufferedOutputStream output = null ;
try {
input = new BufferedInputStream(conta.getFoto()); // Creates buffered input stream.
output = new BufferedOutputStream(response.getOutputStream());
byte[] buffer = new byte[8192];
for (int length = 0; (length = input.read(buffer)) > 0;) {
output.write(buffer, 0, length);
}
} finally {
if (output != null) try { output.close(); } catch (IOException ex) {ex.getMessage();}
if (input != null) try { input.close(); } catch (IOException ex) {ex.getMessage();}
}
}
//exibir imagem
<h:graphicImage style="border-radius: 150px;border: 1px solid transparent; width:30px" id="img" value="/CarregaImagem"/>