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);
}
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.