Olá desenvolvedores, de volta com o JDBC e JSP, depois de uma rápida pausa para estilizarmos nosso sistema de cadastro. Adicionaremos agora um novo campo, o nome do usuário. Temos o login, senha, campo para editar, para excluir, código do usuário no sistema, mas ainda não temos um campo para o nome. É o que iremos implementar agora.
No tutorial “JDBC e JSP: ADICIONANDO ÍCONES”, inserimos ícones com o objetivo de criar uma interface mais amigável. Agora iremos prover um pouco de segurança.
A aplicação que estamos desenvolvendo apresenta um problema, ela deixa exposto a senha do usuário, assim qualquer pessoa com acesso ao sistema poderá conhecer a senha de todos os usuários. Da forma como está, nossa aplicação de cadastro de usuário fere as regras de segurança. Assim, precisamos resolver este problema. Iremos então substituir este campo pelo nome do usuário. O que é prático quando utilizamos o JavaServer Pages e JDBC
CLASSE MODELO
Na classe Model(modelo) BeanCursoJSP, que é classe responsável por carregar os dados e “mover” o objeto para onde ele for necessário, criaremos mais um atributo, o nome do usuário. Gere também os métodos “getters and setters”. Clique com o botão direito do mouse em uma área livre >> source >> Generate Getters and Setters.
private String nome;
CRIANDO NOVO CAMPO NO BANCO DE DADOS
No banco de dados criaremos mais uma nova coluna, isto é, o novo campo que irá receber o nome do usuário. Dessa vez, criaremos a coluna com SQL puro, assim, selecione o banco curso-jsp, ou outro, caso tenha atribuído outro nome para a sua base de dados. Após selecionar o banco de dados clique no ícone Query Tool para abrir o Query Editor, adicione a linha de código abaixo e execute (F5).
ALTER TABLE usuario ADD COLUMN nome CHARACTER VARYING(500);
Voltando para a IDE Eclipse é uma boa prática é guardar seus códigos SQL, em um arquivo om extensão .sql.
Dê um duplo clique sobre o arquivo para abri-lo e antes dos inserts, adicione a Query que acabamos de criar.
Agora adaptaremos nosso código para este novo campo. No DAO, cuja responsabilidade é a manipulação dos objetos, isto é, na classe DaoUsuario.java, no método salvar adicione o “nome”. Assim adicionaremos também mais um terceiro parâmetro.
E para o objeto injetar o nome precisamos carregá-lo, assim dentro do laço de repetição While do List<BeanCursoJsp>, implemente a linha de código abaixo. A mesma linha de código será implementada na consulta por login. Ou seja, injetar o campo nome, que virá do resultSet.
beanCursoJsp.setNome(resultSet.getString("nome"));
O método atualizar receberá as mesmas adaptações que o método salvar, desse modo, faça as alterações destacadas na imagem abaixo.
ALTERANDO A TELA DE CADASTRO
Na página cadastroUsuario.jsp iremos inserir mais uma linha na coluna, agora com o campo nome.
Na tabela onde os dados serão exibidos é que iremos proceder com a substituição. Assim, onde está escrito “senha” substitua pelo “nome”. Dessa forma, o nome do usuário será exibido no lugar da senha, e ela não ficará mais exposta.
<td>
<c:out value="${user.nome}"></c:out>
</td>
MODIFICANDO A SERVLET
E por fim na servlet usuário.java, no método doPost, onde os dados estão sendo salvos, insira mais uma linha de código. É neste ponto que a requisição que vem da tela pelo formulário é recebida na servlet com os seus respectivos parâmetros, ou seja, id, nome, login e senha. Ressaltando que o dado será recebido na servlet tal como está na implementação do formulário.
TESTANDO A APLICAÇÃO
Tendo feito todas as mudanças no código para receber o novo campo do nome do usuário, agora é só testar a aplicação.
EM POUCAS PALAVRAS
É importante sempre, sempre, sempre, conferir no banco de dados se ele está salvando os dados, principalmente após alterações como a que implementamos neste tutorial. De forma fácil e rápida utilizando as tecnologias JDBC e JSP estamos cada vez mais aprimorando nosso sistema de cadastro. Espero que tenham gostado, eu fico por aqui, e nos vemos no próximo tutorial.