Como eu faço para pegar uma lista de imagens blobs do banco, passar pela servlet e exibir elas em um jsp? As imagens vem do dao.getList();
@WebServlet("/listaProdutosServer")
public class ListaProdutosServer extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ProdutoDao dao = new ProdutoDao();
List<Produto> produtos = dao.getList();
request.setAttribute("produtos", produtos);
RequestDispatcher rd = request.getRequestDispatcher("/lista-produtos.jsp");
rd.forward(request, response);
}
}
A parte do jsp que recebe o produto é:
<c:forEach var="produto" items="${produtos}">
<tr>
<th scope="row">${produto.id}</th>
<td>${produto.nome}</td>
<td>${produto.imagem}</td>
<td> ...
O Dao é este:
public List<Produto> getList() {
String sql = "select * from Produtos";
List<Produto> produtos = new ArrayList<>();
try (PreparedStatement stmt = connection.prepareStatement(sql)) {
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Produto produto = new Produto();
produto.setId(rs.getInt("id"));
produto.setNome(rs.getString("nome"));
produto.setDescricao(rs.getString("descricao"));
produto.setIndicacao(rs.getString("indicacao"));
produto.setVolume(rs.getString("volume"));
produto.setCustoUnid(rs.getInt("custoUnid"));
produto.setSugestaoVenda(rs.getInt("sugestaoVenda"));
produto.setImagem(rs.getBytes("imagem"));
produtos.add(produto);
}
return produtos;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
Isto é possível?