Estou desenvolvendo uma aplicação para para controlar entidades religiosas, seus membros, patrimonio, entre outros, usando metodologia DAO, JTSL, Beans, entre outras fontes possíveis de desenvolvimento.
O fato é que quando listo os registros em forma de tabela e incluo botoes de excluir e editar ao lado do registro e clico para remover ele não remove retornando a listar a mesma tela. Além do mais o menu, que tipo sanfona, trava quando listado os registros. o modulo de cadastro esta funcionando normalmente e o menu não trava.
Alguém pode me ajudar ?
Arquivo: UsuarioDao.java
> package br.com.syschurch.jdbc.dao;
> import br.com.syschurch.jdbc.javabeans.Usuario;
> import br.com.syschurch.jdbc.factory.ConnectionFactory;
> import br.com.syschurch.jdbc.interfaces.UsuarioInterface;
> import java.sql.Connection;
> import java.sql.PreparedStatement;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.util.ArrayList;
> import java.util.List;
> public class UsuarioDao implements UsuarioInterface {
> private Connection connection;
> private List<Usuario> listaUsuarios = new ArrayList<Usuario>();
> public UsuarioDao() {
> this.connection = new ConnectionFactory().getConnection();
> }
> public void adicionarUsuario(Usuario usuario) {
> String sql = "INSERT INTO tb_user (tb_username, tb_usersenha, tb_userbloqueado, tb_useremail) VALUES (?, ?, ?, ?);";
> try {
> PreparedStatement ps = connection.prepareStatement(sql);
> ps.setString(1, usuario.getTb_username());
> ps.setString(2, usuario.getTb_usersenha());
> ps.setString(3, usuario.getTb_userbloqueado());
> ps.setString(4, usuario.getTb_useremail());
> ps.executeUpdate();
> ps.close();
> connection.close();
> } catch (SQLException erroSQL) {
> }
> }
> public void excluirUsuario(Usuario usuario) {
> String sql = "DELETE FROM tb_user WHERE id_user = ?;";
> try {
> PreparedStatement ps = connection.prepareStatement(sql);
> ps.setString(1, usuario.getId_user());
> ps.executeUpdate();
> ps.close();
> connection.close();
> } catch (SQLException erro) {
> }
> }
> public void editarUsuario(Usuario usuario) {
> String sql = "UPDATE tb_user SET tb_username = ?, tb_usersenha = ?, tb_userbloqueado = ?, tb_useremail = ?;";
> try {
> PreparedStatement ps = connection.prepareStatement(sql);
> ps.setString(1, usuario.getTb_username());
> ps.setString(2, usuario.getTb_usersenha());
> ps.setString(3, usuario.getTb_userbloqueado());
> ps.setString(4, usuario.getTb_useremail());
> ps.executeUpdate();
> ps.close();
> connection.close();
> } catch (SQLException erro) {
> throw new RuntimeException(erro);
> }
> }
> public boolean existeUsuario(Usuario usuario) {
> boolean achou = false;
> String sql = "SELECT * FROM tb_user WHERE tb_useremail = ?;";
> try {
> PreparedStatement ps = connection.prepareStatement(sql);
> ps.setString(1, usuario.getTb_useremail());
> ResultSet resultSet = ps.executeQuery();
> if (resultSet.next()) {
> achou = true;
> }
> ps.close();
> connection.close();
> resultSet.close();
> } catch (Exception e) {
> }
> return achou;
> }
> public List<Usuario> listarUsuario() {
> List<Usuario> listaUsuario = new ArrayList<Usuario>();
> try {
> String sql = "SELECT * FROM tb_user;";
> PreparedStatement ps = connection.prepareStatement(sql);
> ResultSet resultSet = ps.executeQuery();
> while (resultSet.next()) {
> Usuario usuario = new Usuario();
> usuario.setId_user(resultSet.getString("id_user"));
> usuario.setTb_username(resultSet.getString("tb_username"));
> usuario.setTb_useremail(resultSet.getString("tb_useremail"));
> usuario.setTb_userbloqueado(resultSet.getString("tb_userbloqueado"));
> listaUsuario.add(usuario);
> }
> ps.close();
> connection.close();
> resultSet.close();
> } catch (Exception erro) {
> }
> return listaUsuario;
> }
> public Usuario consultarUsuario(Usuario usuario) {
> try {
> String sql = "SELECT * FROM tb_user WHERE tb_username = ?;";
> PreparedStatement ps = connection.prepareStatement(sql);
> ps.setString(1, usuario.getTb_useremail());
> ResultSet resultSet = ps.executeQuery();
> if (resultSet.next()) {
> usuario.setId_user(resultSet.getString("id_user"));
> usuario.setTb_username(resultSet.getString("tb_username"));
> usuario.setTb_useremail(resultSet.getString("tb_useremail"));
> usuario.setTb_userbloqueado(resultSet.getString("tb_userbloqueado"));
> }
> ps.close();
> connection.close();
> resultSet.close();
> } catch (Exception e) {
> }
> return usuario;
> }
> @Override
> public List<Usuario> getlistaUsuarios() {
> try {
> String sql = "SELECT * FROM tb_user;";
> PreparedStatement ps = connection.prepareStatement(sql);
> ResultSet resultSet = ps.executeQuery();
> while (resultSet.next()) {
> Usuario usuario = new Usuario();
> usuario.setId_user(resultSet.getString("id_user"));
> usuario.setTb_username(resultSet.getString("tb_username"));
> usuario.setTb_useremail(resultSet.getString("tb_useremail"));
> usuario.setTb_userbloqueado(resultSet.getString("tb_userbloqueado"));
> listaUsuarios.add(usuario);
> }
> ps.close();
> connection.close();
> resultSet.close();
> } catch (SQLException erro) {
> throw new RuntimeException(erro);
> }
> return listaUsuarios;
> }
> }
Arquivo: ConnectionFactory.java
> package br.com.syschurch.jdbc.factory;
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.SQLException;
> public class ConnectionFactory {
> private String driver = "com.mysql.jdbc.Driver";
> private String url = "jdbc:mysql://localhost:3306/db_portaldosol";
> private String email = "invited";
> private String senha = "w190496c";
> public Connection getConnection() {
> try {
> Class.forName(driver);
> return DriverManager.getConnection(url, email, senha);
> }
> catch (SQLException erro){
> throw new RuntimeException(erro);
> }
> catch (ClassNotFoundException erro){
> throw new RuntimeException(erro);
> }
>
> }
> }
Arquivo Usuario.java
package br.com.syschurch.jdbc.javabeans;
import java.io.Serializable;
public class Usuario implements Serializable {
private String id_user; private String tb_username; private String tb_useremail; private String tb_usersenha; private String tb_userbloqueado;
public String getTb_username() { return tb_username; }
public void setTb_username(String tb_username) { this.tb_username = tb_username; }
public String getTb_useremail() { return tb_useremail; }
public void setTb_useremail(String tb_useremail) { this.tb_useremail = tb_useremail; }
public String getTb_usersenha() { return tb_usersenha; }
public void setTb_usersenha(String tb_usersenha) { this.tb_usersenha = tb_usersenha; }
public String getTb_userbloqueado() { return tb_userbloqueado; }
public void setTb_userbloqueado(String tb_userbloqueado) { this.tb_userbloqueado = tb_userbloqueado; }
public String getId_user() { return id_user; }
public void setId_user(String id_user) { this.id_user = id_user; }
public void setUsuario(String usuario) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. }
}
Arquivo: UsuarioInterface.java
> package br.com.syschurch.jdbc.interfaces;
> import br.com.syschurch.jdbc.javabeans.Usuario;
> import java.util.List;
> public interface UsuarioInterface {
>
> public void adicionarUsuario(Usuario usuario);
> public void excluirUsuario(Usuario usuario);
> public void editarUsuario(Usuario usuario);
> public boolean existeUsuario(Usuario usuario);
> public Usuario consultarUsuario(Usuario usuario);
> public List<Usuario> listarUsuario();
> public List<Usuario> getlistaUsuarios();
>
> }
e Finalmente o arquivo JSP: usuarioconsulta.jsp
1. <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2. <jsp:useBean id="beanUsuariodao" class="br.com.syschurch.jdbc.dao.UsuarioDao"></jsp:useBean>
3. <c:import url="chamada.jsp"/>
4. <c:import url="sidebar.jsp"/>
5. <!-- Inicio Corpo !-->
6. <ul class="breadcrumb">
7. <li><a href="principal.jsp">Principal</a></li>
8. <li><a href="#">Gerenciar Usuários</a></li>
9. </ul>
10. <div class="page-title">
11. <h2><span class="fa fa-user"></span> Gerenciar Usuários</h2>
12. </div>
13. <div class="col-md-12">
14. <a class="btn btn-primary" href="usuariocadastra.jsp"><i class="fa fa-plus"></i> Novo Usuário</a>
15. <br />
16. <br />
17. </div>
18. <div class="col-md-12">
19. <div class="panel panel-default">
20. <div class="panel-body ">
21. <form name="frmDados" id="form1" action="" method="post" class="form-horizontal form-bordered col-lg-12">
22. <div class="form-group pesquisa">
23. <label class="col-md-2 control-label text-black" for="pesq">PESQUISA:</label>
24. <div class="col-md-6">
25. <input type="text" name="pesq" value="" style="max-width:px;" id="pesq" required class="form-control "/>
26. </div>
27. </div>
28. <div class="form-group ">
29. <label class="col-md-2 control-label text-black"></label>
30. <div class="col-md-6">
31. <input type="submit" class="btn btn-primary" id="pesquisar" height="35px" name ="Pesquisar" value="Pesquisar" />
32. </div>
33. </div>
34. </form>
35. </div>
36. </div>
37. </div>
38. <div class="col-md-12">
39. <div class="panel panel-default">
40. <div class="panel-body">
41. <div id="print" class="table-responsive">
42. <form name="frmConsulta" id="form2" action="" method="">
43. <table id="DataTables_Table_0" class="table datatable dataTable no-footer" aria-describedby="DataTables_Table_0_info">
44. <thead>
45. <tr>
46. <th style="min-width:30px">AÇÃO</th>
47. <th>CODIGO</th>
48. <th>USUARIO NOME</th>
49. <th>EMAIL</th>
50. </tr>
51. </thead>
52. <tbody>
53. <c:forEach var="users" items="${beanUsuariodao.listaUsuarios}">
54. <tr>
55. <td>
56. <a class="btn btn-info btn-rounded" href="" data-toggle="tooltip" data-placement="top" title="" data-original-title="Editar">
57. <i style="margin-right: 0px;" class="fa fa-pencil"></i>
58. </a>
59. <a class="btn btn-danger btn-rounded excluir" href="UsuarioServlet?acao=Excluir&usuario=${users.id_user}" id="" data-toggle="tooltip" data-placement="top" title="" data-original-title="Excluir">
60. <i style="margin-right: 0px;" class="fa fa-times"></i>
61. </a></td>
62. <td>${users.id_user}</td>
63. <td>${users.tb_username}</td>
64. <td>${users.tb_useremail}</td>
65. </tr>
66. </c:forEach>
67. </tbody>
68. </table>
69. </form>
70. </div>
71. </div>
72. </div>
73. </div>
74. <!-- Fim Corpo !-->
75. <c:import url="bottom.jsp"/>