Aprenda Java Web JSP

  • Página Inicial
  • Contato!
  • Tudo sobre Java Web JSP Parte 1!
  • Tudo sobre Java Web JSP Parte 2!
  • Tudo sobre Java Web JSP Parte 3!
  • Tudo sobre Java Web JSP Parte 4!
  • Tudo sobre Java Web JSP Parte 4

    Inserindo Usuário - Parte 1

    Crie, na página acessoliberado.jsp esse link:

    
    <a href="cadastroUsuario.jsp">Cadastro de Usuário</a>
    
    

    Crie essa página com esse formulário:

     
    <form method="post" action="salvarUsuario">
        <table>
            <tr>
                <td>Login:</td>
                <td><input type="text" name="tLogin" id="cLogin" maxlength="20"/></td>
            </tr>
            <tr>
                <td>Senha:</td>
                <td><input type="password" name="tSenha" id="cSenha" maxlength="20"/></td>
            </tr>
        </table>
        <input type="submit" value="Salvar"/>
    </form>
    
    

    Crie uma servlet com o nome SalvarUsuario e altere a respectiva linha assim:

    
    @WebServlet("/salvarUsuario")
    
    

    No pacote dao, crie essa classe:

    
    package dao;
    
    import beans.ValidaUser;
    import connection.SingleConnection;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    public class DAOUsuario {
        private Connection conexao;
        
        public DAOUsuario() {
            conexao = SingleConnection.getConexao();
        }
        
        public void salvar(ValidaUser usuario) {
            String sql = "insert into usuario (login, senha) values (?, ?)";
            PreparedStatement stmt = null;
            
            try {
                stmt = conexao.prepareStatement(sql);
    
                stmt.setString(1, usuario.gettLogin());
                stmt.setString(2, usuario.gettSenha());
    
                stmt.execute();
                
                conexao.commit();
            }
            catch(Exception ex) {
                ex.printStackTrace();
                
                try {
                    conexao.rollback();
                }
                catch(SQLException ex1) {
                    ex1.printStackTrace();
                }
            }
        }
    }
    
    

    E após colocar no começo do servlet a declaração private DAOUsuario dao = new DAOUsuario();, altere o método doPost do servlet assim:

    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String login = request.getParameter("tLogin").trim();
        String senha = CriptSenha.encripta(request.getParameter("tSenha").trim(), "SHA-1"); // Importe
    
        ValidaUser user = new ValidaUser(); // Importe
    
        user.settLogin(login);
        user.settSenha(senha);
    
        dao.salvar(user);
    }
    
    

    Inserindo Usuário - Parte 2

    Agora precisamos fazer o redirecionamento, para isso, vá na classe UsuarioDAO e adicione esse método:

    
    public List<ValidaUser> listar() throws Exception { // Importe
        List<ValidaUser> lista = new ArrayList<>(); // Importe
    
        String sql = "select * from usuario";
    
        PreparedStatement stmt = conexao.prepareStatement(sql);
        ResultSet rs = stmt.executeQuery(); // Importe
    
        while(rs.next()) {
            ValidaUser bean = new ValidaUser();
    
            bean.settLogin(rs.getString("login"));
            bean.settSenha(rs.getString("senha"));
    
            lista.add(bean);
        }
    
        return lista;
    }
    
    

    Adicione essas linhas no método doPost do servlet Usuario, abaixo do salvar:

    
    try {
        RequestDispatcher view = request.getRequestDispatcher("/cadastroUsuario.jsp"); // Importe
    
        request.setAttribute("usuarios", dao.listar());
    
        view.forward(request, response);
    
    }
    catch(Exception ex) {
        ex.printStackTrace();
    }
    
    

    Agora, na página cadastroUsuario.jsp, adicione isso no começo da página:

    
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    
    

    E na mesma página crie essa tabela:

    
    <table>
        <c:forEach items="${usuarios}" var="user">
            <tr>
                <td><c:out value="${user.tLogin}"></c:out></td>
                <td><c:out value="${user.tSenha}"></c:out></td>
            </tr>
        </c:forEach>
    </table>
    
    

    PS: A lista só carrega após salvar um usuário.