Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO ESTÁCIO DA BAHIA PÓS-GRADUAÇÃO - ENGENHARIA DE SOFTWARE SAMUEL MATOS CORREIA 201901149765 TRABALHO FINAL DE PROJETO E IMPLEMENTAÇÃO ORIENTADO A OBJETOS Salvador – BA 2019 Meu nome é Samuel Matos Correia, tenho 39 anos, morro na cidade de Salvador na Bahia, sou graduado em Engenharia Elétrica pelo Centro Universitário Estácio da Bahia – FIB em Salvador - BA, atualmente estou cursando o primeiro semestre da Pós-Graduação em Engenharia de Software pela mesma instituição citada acima. Programação Neste trabalho foram usadas as seguintes ferramentas: SGDB – MySQL 5.5; Conector – Driver JDBC do MySQL – mysql -connector-java-5.1.23-bin.jar; IDE – Netbeans 8.0.2; Servidor – Glass Fish Server 4.1; Linguagem – Java EE. Vamos lá: Abrir Netbeans; Criar novo projeto Java Web; Aplicação Web; Nomear projeto: ProjetoWeb; Escolher o servidor GlassFish 4.1 Finalizar. Adicionar as bibliotecas: Driver JDBC do MySQL; JSF 2.2. Criar os pacotes: Controle; AlterarUsuario.java; InserirUsuario.ja va; Log inServlet.java; removerUs uario.java. Dao; Conexao.java; Memoria.java; UsuarioDAO.ja va. Modelo. Usuario.java. Vamos ao código: Script do Banco de dados: Create database trabalho_db; use trabalho_db; create table usuário_tbl( id_usuario int(11) not null auto_increment, nome varchar(100) not null, usuário varchar(32) not null, senha varchar(32) not null, lembrete varchar(50) not null, nível varchar(32), primary key(id_ usuario) ); INSERT INT O usuario_tbl(nome, usuario, senha, lembrete, nivel) VALUES(“Oswa ld o ”,”admin”,”admin”,”teste”,”ad min”); INSERT INT O usuario_tbl(nome, usuario, senha, lembrete, nivel) VALUES(“Oswa ld o ”,”user”,”user”,”teste”,”user”); package modelo; public class Usuario { private int id; private String nome; private String login; private String senha; private String lembrete; private String nivel; //Gets e Sets public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; } public String getLembrete() { return lembrete; } public void setLembrete(String lembrete) { this.lembrete = lembrete; } public String getNivel() { return nivel; } public void setNivel(String nivel) { this.nivel = nivel; } } ============================================================================= package dao; import com.mysql.jdbc.Connection; import java.sq l.DriverManager; import java.sql.SQLException; public class Conexao { private final String DRIVER = "com.mys ql.jdbc.Driver"; private final String URL = "jdbc:mysql://localhost/trabalho_db"; private final String USER = "root"; private final String PASSWORD = "cafe7894"; private Connection conn; public Conexao(){ try { Class.forName(DRIVER); conn = (Connection) DriverManager.getConnection(URL , USER, PASSWORD); System.out.println("Conexão realizada com sucesso..."); } catch (ClassNotFoundException | SQLException erro) { System.out.println("Erro ao tentar conectar com o banco!!!"+erro.get Message()); } } public Connectio n conectar(){ return conn; } public void fecharConexao() { try{ conn.close(); }catch(Exception erro){ System.out.println("Erro ao tentar fechar a conexão com o banco!!!"+erro.get Message()); } } } ============================================================================= package dao; public class Memoria { private String nome; private String nivel; private String url; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getNivel() { return nivel; } public void setNivel(String nivel) { this.nivel = nivel; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } } ============================================================================= package dao; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import modelo.Usuario; public class UsuarioDAO { public String inserir(Usuario usuario) { String retorno = "Falha"; Conexao conexao = new Conexao(); try { Statement stmt = conexao.conectar().createStat ement(); stmt.execute("INSERT INTO usuario_tbl(nome, usuario, senha, lembrete, nivel) VALUES('" + usuario.getNome() + "','" + usuario.get Login() + "','" + usuario.getSenha() + "','" + usuario.get Lembrete() + "','" + usuario.getNivel()+ "');"); retorno = "Sucesso"; } catch (Exception erro) { System.out.println("Erro ao gravar regist ro"); } finally { conexao.fecharConexao(); } return retorno; } public List<Usuario> listar() { List<Usuario> usuarios = new ArrayList <Usuario>(); Conexao conexao = new Conexao(); try { Statement stmt = conexao.conectar().createStatement(); ResultSet rs = stmt.execute Query("SELECT * FROM usuario_tb l"); while (rs.next()) { Usuario usuario = new Usuario(); usuario.set Id(rs.getInt("id _usuario")); usuario.set Nome(rs.getString("nome")); usuario.setL ogin(rs.getString("usuario")); usuario.set Senha(rs.getString("senha")); usuario.setLembrete( rs.getString("lembrete")); usuario.set Nivel(rs.getString("nivel")); usuarios.add( usuario); } } catch (Exception erro) { System.out.println("Erro ao tentar listar os usuarios"); } finally { conexao.fecharConexao(); } return usua rios; } public Usuario selecionar(int id) { Usuario usuario = new Usuario(); Conexao conexao = new Conexao(); try { Statement stmt = (Statement) conexao.conectar().createStatement(); ResultSet rs = stmt.executeQuery("SELECT * F ROM usuario_tb l where id_usuario= '" + id + "'"); rs.next(); usuario.setId(rs.getInt("id_usuario")); usuario.setNome(rs.getString("nome")); usuario.setLogin(rs.getString("usuario")); usuario.setSenha(rs.get String("senha") ); usuario.setLembrete(rs.getString("lembrete")); usuario.setNivel(rs.getString("nivel")); } catch (Exception erro) { System.out.println("Erro ao tentar listar os dados do banco"); } finally { conexao.fecharConexao(); } return usua rio; } public String alterar(Usuario usuario) { String retorno = "falha"; Conexao conexao = new Conexao(); try { Statement stmt = conexao.conectar().createStatement(); stmt.executeUpdate("update usuario_tbl set nome = '" + usuario.get Nome() + "',usuario='" + usuario.getLogin() + "',senha='" + usuario.get Senha() + "',le mbrete='" + usuario.getLembrete() + "', nivel='" + usuario.get Nivel() + "' where id_usuario ='" + usuario.get Id() + " '"); retorno = "Sucesso"; } catch (Exception erro) { System.out.println("Erro ao tentar alterar os dados do banco"); } finally { conexao.fecharConexao(); } return retorno; } public String remover(int id) { String retorno = "falha"; Conexao conexao = new Conexao(); try { Statement stmt = (Statement) conexao.conectar().createStatement(); stmt.execute("delete fro m usuario_tbl where id_usuario = '" + id + "'"); retorno = "Sucesso"; } catch (Exception erro) { System.out.println("Erro ao tentar remover os dados do banco"); } finally { conexao.fecharConexao(); } return retorno; } public Usuario buscar(String login) { Usuario usuario = new Usuario(); Conexao conexao = new Conexao(); try { Statement stmt = (Statement) conexao.conectar().createStatement(); ResultSet rs = stmt.executeQuery("SELECT * F ROM usuario_tb l where usuario= '" + login+ "'"); rs.first(); usuario.setId(rs.getInt("id_usuario")); usuario.setNome(rs.getString("nome")); usuario.setLogin(rs.getString("usuario")); usuario.setSenha(rs.get String("se nha")); usuario.setLembrete(rs.getString("lembrete")); usuario.setNivel(rs.getString("nivel")); conexao.fecharConexao(); } catch (Exception erro) { System.out.println("Erro ao tentar listar os dados do banco"); } finally { conexao.fecharConexao(); } return usua rio; } } ============================================================ package controle; import dao.UsuarioDAO; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletExceptio n; import javax.servlet.annotat ion.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReq uest; import javax.servlet.http.HttpServletResponse; import modelo.Usuario; /** * * @author Iris Basilio Ferreira */ @WebServlet(name = "AlterarUsuario", urlPatterns = {"/AlterarUsuario"}) public class AlterarUsuario extends Http Servlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletExcept ion, IOException { int id = Integer.parseInt(request.g etParameter("txtId")); String nome = request.g etParameter("txtNome"); String login = request.getParameter("txtUsuario"); String senha = request.getParameter("txtSenha"); String lembrete = request.getParameter("txtLembrete"); String nivel = request.getParameter("txtNi vel"); Usuario usuario = new Usuario(); usuario.set Id(id); usuario.set Nome(nome); usuario.setLogin(login); usuario.set Senha(senha); usuario.setLembrete(lembrete); usuario.set Nivel(nivel); UsuarioDAO dao = new UsuarioDAO(); String retorno = dao.alterar(usuario); if(retorno.equals("Sucesso")){ response.sendRedirect("admin.jsp"); }else{ PrintWriter out = response.getWriter(); out.print("<html>"); out.print("<h2>Não foi possível alterar o nome!</h2>"); out.print("<br>"); out.print("<a href='admin.jsp'>Volt ar</a>"); out.print("</html>"); } } } =================================== ========================= package controle; import dao.Memoria; import dao.UsuarioDAO; import java.io.IOException; import javax.servlet.ServletExceptio n; import javax.servlet.annotat ion.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReq uest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import modelo.Usuario; @WebServlet(name = "InserirUsuario", urlPatt erns = {"/Inse rirUsuario"}) public class InserirUsuario ext ends HttpServlet { /** * Processes requests for both HTT P <code>GET</code> and <code>POST</code> * methods. * * @param request servlet request * @param response servlet response * @throws ServletException if a se rvlet -specific error occurs * @throws IOExcept ion if an I/O error o ccurs */ protected void processRequest(HttpServletRequest req uest, HttpServletResponse response) throws ServletExcept ion, IOException { response.setContentType("text/html;charset=UTF - 8"); String Nome = request.getPar ameter("txtNome"); String Usuario = request.getParameter("txt Usuario"); String Senha = request.getParameter("txtSenha"); String Lembrete = request.getParameter("txtLembrete"); String Nivel = "USER"; Usuario usuario = new Usuario(); usuario.set Nome(Nome); usuario.setLogin(Usuario); usuario.set Senha(Senha); usuario.setLembrete(Lembrete); usuario.set Nivel(Nivel); UsuarioDAO usuarioD AO = new Usuario DAO(); String retorno = usuarioDAO.inserir(usuario); if (retorno.equals("Sucesso")) { HttpSession session = request.getSession(); Memoria m =new Memoria(); String resp = m.getNivel(); if(resp =="ADM"); response.sendRedirect("admin.jsp"); } } } ============================================================ package controle; import dao.Memoria; import dao.UsuarioDAO; import java.io.IOException; import javax.servlet.ServletExceptio n; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReq uest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import modelo.Usuario; public class LoginServlet ext ends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletExcept ion, IOException { HttpSession session = request.getSession(); //Obtem sessão do usuário, caso exist. Usuario user = null; String Login = request.getParameter("txtLogin"); String Senha = request.getParameter("txtSenha"); try { UsuarioDAO dao = new UsuarioDAO(); user = dao.buscar(Login); String nivel = user.getNivel(); } catch (Exception e) { } //Verificando se os campos estão vazios if (user == null) { session.invalidate( ); request.getReq uestDispatcher("Login.jsp").forward(request, response); } else { session.setAttribute("user", user); String teste = user.getNivel(); if (teste == "ADM") { Memoria m = new Memoria(); m.setUrl("admin.jsp"); request.getRequestDispatcher("admin.jsp").forward(request, response); } else { Memoria m = new Memoria(); m.setUrl("user.jsp"); request.getRequestDispatcher("user.jsp").fo rward(request, response);} } } } ========================================================== == package controle; import java.io.IOException; import javax.servlet.ServletExceptio n; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReq uest; import javax.servlet.http.HttpServletResponse; import dao.UsuarioDAO; import java.io.PrintWriter; public class RemoverUsuario exte nds HttpServlet { /** * Processes requests for both HTT P <code>GET </code> and <code>POST</code> * methods. * * @param request servlet request * @param response servlet response * @throws ServletException if a se rvlet -specific error occurs * @throws IOExcept ion if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcept ion, IOException { } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletExcept ion, IOException { int id = Integer.parseInt(request.g etParameter("txtId")); UsuarioDAO usuarioD AO = new UsuarioDAO(); String retorno = usuarioDAO.remover(id ); if(retorno.equals("Sucesso")){ response.sendRedirect("admin.jsp"); }else{ PrintWriter out = response.getWriter(); out.print("<html>"); out.print("<h2>Não foi possível excluir o arquivo</h2>"); out.print("<br>"); out.print("<a href='admin.jsp'>Volt ar</a>"); out.print("</html>"); } } }
Compartilhar