Imprimir lista de Blob's na jsp

Olá amigos do Guj.

Estou tentando imprimir uma lista de imagens, que estão armazenadas em campos Blob’s em meu banco de dados. Já tentei de tudo, mas não consigo fazer ele imprimir essa lista de imagens, só consegui ele imprimir um única imagem.
Se puderem me dar uma luz agradeço, pq já quebrei cabeça e nada!

Como última tentativa, fiz uma Servlet chamada imagem onde eu monto uma tabela e a chamo em minha JSP.

Image.java


package action;


import java.io.IOException;
import java.util.LinkedList;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import bean.FileBean;

import dao.ProdutoDAO;

/**
 * Servlet implementation class for Servlet: Imagem
 *
 */
 public class Imagem extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public Imagem() {
		super();
	}   	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
 	
	}
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try{
	        HttpSession session = request.getSession();
	        ProdutoDAO produtoDAO = new ProdutoDAO();
			  String contentType = "";   
	          String nomArquivo = ""; 
	          
	       
	        
	  		LinkedList<FileBean> list = new LinkedList<FileBean>(); //coleção de objetos(arraylist)
	  		LinkedList<FileBean> produtoBean = (LinkedList<FileBean>)(session.getAttribute("produtoBEAN"));   
	  		int idSecao = 0;
	  		 
	  		for(FileBean produto2 : produtoBean){
	  			idSecao = produtoBean.element().getIdSecao();
	  			
	  		}
	  		 		
	  		list = produtoDAO.buscarImg(idSecao);
	  		
	  		String tabela = "<table width='94%' align='center' border='1'><tr><td>Descricao</td>" +
	  		  "<td>Imagem</td></tr>";
	  		
	  		for (FileBean produto : list) 
	  		{
	  			tabela += "<tr><td>"+ produto.getDescProduto()+"</td>";
	  			
	  			byte[] arquivo = produto.getArq3().getBytes(1,(new Long(produto.getArq3().length())).intValue());   
			  	response.setHeader("Cache-Control", "no-store");   
			  	response.setHeader("Pragma", "no-cache");   
			  	response.setDateHeader("Expires", 0);   
			  	response.setContentType("image/jpeg");   
			  	  
			  	tabela += "<div>";  
			  	ServletOutputStream out = response.getOutputStream(); 
		  		out.write(arquivo);   
		  		out.flush();   
			  	out.close(); 
		  		tabela +="</div></tr>";
	  		}
	  				
		  	tabela += "</table>";

		  	//HttpSession httpSession = request.getSession(false);
		  	session.setAttribute("tabela", tabela);
		  	
	               
	        } catch (Exception ex) {   
	            ex.printStackTrace();   
	        }   
	        response.sendRedirect("/pages/formUpload.jsp");
	    }   
	   	  	    
}

formUpload.jsp

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="C"%> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head> 
<link href="/lojaVirtual/css/loja.css" rel="stylesheet" type="text/css"> 
<style type="text/css">
 body {
 margin-top:0px;
	margin-left: 0px;
	margin-right: 0px;
	margin-bottom:0x;
	
}
</style>
</head> 

<body> 
<table cellpadding="0"  width="100%" align="center" cellspacing="0" border="0" >
	<tr  valign="top">
		<td height="43" class="titulos" align="center" valign="middle" colspan="4">Ger&ecirc;nciar Imagens. . . .</td>
	</tr>
</table>
<br>
	
<html:form action="/upload.do" method="post" enctype="multipart/form-data"> 
   <table border="0" align="center"> 
      <tr> 
         <td align="right" class="Txt"> 
            Nome do arquivo:  
         </td> 
         <td align="left"> 
            <html:file property="arq" /> 
         </td> 
      </tr> 
      <tr> 
         <td align="right" colspan="2" class="Txt"> 
            <input type="submit"  value="Enviar" /> 
         </td> 
      </tr> 
   </table> 
   
    <input type="hidden" name="idSecao" value="${produtoBean.idSecao}"/>

   <html:image src="imagem"/>
   	      <%
   	      	HttpSession httpSession = request.getSession(false);
   	      	String tabela = (String) httpSession.getAttribute("tabela");
   	      	
   	      	if(tabela != null){
   	      		out.println(tabela);
   	      	}
   	      
   	      %>
 

</html:form> 
</body> 
</html> 

Qualquer ajuda é bem vinda!

Obrigada.

:wink:

eu votaria para vc serializar isso em alguma área do servidor e fazer referência ao caminho completo no seu JSP…

Obrigada pela resposta.
Mas eu TENHO que armazaner as imagens no Banco (Infelizmente…)
Se alguém puder me dar uma luz, agradeço…

Abraço,

Olá amigos do GUJ,

Não tem outro jeito de armazenar no Banco de Dados, chamar essa lista de imagens na página e funcionar?

Abraço,