Olá desenvolvedores, continuando com o tema upload e todas as suas funcionalidades, neste tutorial iremos implementar uma rotina para listar as imagens carregadas em tela.
Assim, na página uploa.jsp crie um link que é o que será submetido para a servlet. E ressaltando que por se tratar de um link sempre será redirecionado para o doGet, visto que vamos carregar os dados e não os enviar. Se fossemos enviar dados, estes iriam por requisição, e teriam como método de envio o POST. Mas como se trata de carregamento de dados, estes então irão pela URL.
O raciocínio aplicado é o seguinte, iremos fazer uma requisição GET, carregar no banco de dados e então retornar para a mesma tela carregando os dados. Desse modo dentro do doGET implementaremos um RequestDispatcher, pegando os dados da requisição e os enviando para a página upload.jsp.
Grosso modo o RequestDispatcher se comporta exatamente como descrito acima, ele define um objeto que receberá as solicitações do cliente e as envia para qualquer recurso do servidor, que pode ser, por exemplo, uma página JSP.
O próximo passo é “setar” dentro de um bloco try o atributo de lista, cujo valor é daoUsuario invocando os dados do usuário, implementados no método que carrega os dados do usuário na classe Daousuario.
E claro como você deve estar deduzindo teremos um bloco catch implementando as exceções.
BANCO DE DADOS
Agora iremos implementar no banco de dados o carregamento. Já temos do projeto anterior, na classe de conexão DaoUsuario um método que carrega os usuários, mas falta dentro deste método a parte referente a imagem.
Assim, na classe do objeto Usuario crie o atributo imagem e seus respectivos métodos Getters and Setters.
private String imagem;
E na classe DAO tem-se a Query carrega todos os atributos, assim só será preciso “setar” a imagem para ser carregada juntamente com os outros atributos. Desse modo, implemente logo após a instância do objeto e os demais atributos do usuário a linha de código abaixo.
usuario.setImagem(resultSet.getString(“imagem”));
É sempre importante testar a funcionalidade implementada antes de partir para a próxima. Visto que assim, se algum erro ocorrer será fácil encontra-lo e consequentemente aviar uma solução. Feito tudo isso, é hora de ir para o JSP carregar os dados em tela.
BIBLIOTECA JSTL
E para exibir os dados na página upload.jsp criaremos uma tabela. E como trabalharemos com conteúdo dinâmico no JSP, precisaremos do JSTLL, assim é necessário declarar a taglib core, cujo prefixo é a letra “c”. Você pode obter a declaração acessando aqui. Antes porém, você precisa da biblioteca do JSTL, clique aqui e faça o download do arquivo jar e o copie para dentro da pasta lib do seu projeto.
E agora sim, acima de declaração do documento HTML, na página upload.jsp declare a taglib core, da biblioteca JSTL.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
EXIBINDO A LISTA DE DADOS
E para começar a implementação da exibição da lista, abra uma tag table e dentro dela implemente a tag de interação que suporta diferentes tipos de coleção, o forEach. Assim, os itens dessa coleção é o que iremos buscar no banco de dados dentro do atributo listaUserImagem. Dentro do forEach teremos também uma variável.
E então para cada usuário criaremos uma linha com uma célula pra cada item. Assim, em cada uma da célula a variável user invocará um dado atributo, como o id e o login, por exemplo.
EM POUCAS PALAVRAS
No próximo tutorial além de um cabeçalho para a tabela que criaremos, iremos também criar um botão para que o usuário possa fazer o download da imagem. Então eu fico por aqui e nós nos vemos no próximo tutorial.