Buscar

TRABALHO DE PROJETO E IMPLEMENTAÇÃO ORIENTADO A OBJETOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais