Buscar

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 27 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 27 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 27 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

Continue navegando


Prévia do material em texto

UNIVERSIDADE ESTÁCIO DE SÁ – FIR 
PÓS – GRADUAÇÃO EM ENGENHARIA DE SOFTWARE 
2º SEMESTRE – 2º TRIMESTRE – EAD TURMA: 2015.2 
DISCIPLINA: 
PROJETO E IMPLEMENTAÇÃO ORIENTADO A OBJETOS 
PROFESSOR: OSWALDO BORGES PERES 
 
 
 
IRIS BASILIO FERREIRA 
MATRICULA: 201507184328 
 
 
 
 
TRABALHO FINAL 
 
 
 
 
 
 
RECIFE – PE 
2016 
 
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 – GlassFish Server 4.1; 
Linguagem – Java EE. 
 
Vamos lá: 
1. Abrir Netbeans; 
2. Criar novo projeto 
a. Java Web; 
b. Aplicação Web; 
c. Nomear projeto: ProjetoWeb; 
d. Escolher o servidor GlassFish 4.1 
e. Finalizar. 
3. Adicionar as bibliotecas: 
a. Driver JDBC do MySQL; 
b. JSF 2.2. 
4. Criar os pacotes: 
a. Controle; 
i. AlterarUsuario.java; 
ii. InserirUsuario.java; 
iii. LoginServlet.java; 
iv. removerUsuario.java. 
b. Dao; 
i. Conexao.java; 
ii. Memoria.java; 
iii. UsuarioDAO.java. 
c. Modelo. 
i. 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 INTO usuario_tbl(nome, usuario, senha, lembrete, nivel) 
VALUES(“Oswaldo”,”admin”,”admin”,”teste”,”admin”); 
INSERT INTO usuario_tbl(nome, usuario, senha, lembrete, nivel) 
VALUES(“Oswaldo”,”user”,”user”,”teste”,”user”); 
 
package modelo; 
 
/** 
 * 
 * @author Iris Basilio Ferreira 
 */ 
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.sql.DriverManager; 
import java.sql.SQLException; 
 
/** 
 * 
 * @author Iris Basilio Ferreira 
 */ 
public class Conexao { 
 
 private final String DRIVER = "com.mysql.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.getMessage()); 
 } 
 } 
 public Connection 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.getMessage()); 
 } 
 } 
} 
 
============================================================ 
package dao; 
 
/** 
 * 
 * @author Iris Basilio Ferreira 
 */ 
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; 
 
 
/** 
 * 
 * @author Iris Basilio Ferreira 
 */ 
public class UsuarioDAO { 
 
 public String inserir(Usuario usuario) { 
 String retorno = "Falha"; 
 Conexao conexao = new Conexao(); 
 try { 
 Statement stmt = conexao.conectar().createStatement(); 
 stmt.execute("INSERT INTO usuario_tbl(nome, usuario, senha, 
lembrete, nivel) VALUES('" + usuario.getNome() + "','" + 
usuario.getLogin() + "','" + usuario.getSenha() + "','" + 
usuario.getLembrete() + "','" + usuario.getNivel()+ "');"); 
 retorno = "Sucesso"; 
 } catch (Exception erro) { 
 System.out.println("Erro ao gravar registro"); 
 } 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.executeQuery("SELECT * FROM usuario_tbl"); 
 while (rs.next()) { 
 Usuario usuario = new Usuario(); 
 usuario.setId(rs.getInt("id_usuario")); 
 usuario.setNome(rs.getString("nome")); 
 usuario.setLogin(rs.getString("usuario")); 
 usuario.setSenha(rs.getString("senha")); 
 usuario.setLembrete(rs.getString("lembrete")); 
 usuario.setNivel(rs.getString("nivel")); 
 
 usuarios.add(usuario); 
 } 
 } catch (Exception erro) { 
 System.out.println("Erro ao tentar listar os usuarios"); 
 } finally { 
 conexao.fecharConexao(); 
 } 
 return usuarios; 
 } 
 
 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 * FROM usuario_tbl 
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.getString("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 usuario; 
 } 
 
 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.getNome() + "',usuario='" + usuario.getLogin() + "',senha='" + 
usuario.getSenha() + "',lembrete='" + usuario.getLembrete() + "', nivel='" + 
usuario.getNivel() + "' where id_usuario ='" + usuario.getId() + "'"); 
 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 from 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 * FROM usuario_tbl 
where usuario= '" + login+ "'"); 
 rs.first(); 
 usuario.setId(rs.getInt("id_usuario")); 
 usuario.setNome(rs.getString("nome")); 
 usuario.setLogin(rs.getString("usuario")); 
 usuario.setSenha(rs.getString("senha")); 
 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 usuario; 
 
 } 
 
 } 
============================================================ 
 
package controle; 
import dao.UsuarioDAO; 
import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import modelo.Usuario; 
/** 
 * 
 * @author Iris Basilio Ferreira 
 */ 
@WebServlet(name = "AlterarUsuario", urlPatterns = {"/AlterarUsuario"}) 
public class AlterarUsuario extends HttpServlet { 
 
 @Override 
 protected void doPost(HttpServletRequest request, 
HttpServletResponse response) 
 throws ServletException, IOException { 
 
 int id = Integer.parseInt(request.getParameter("txtId")); 
 String nome = request.getParameter("txtNome"); 
 String login = request.getParameter("txtUsuario"); 
 String senha = request.getParameter("txtSenha"); 
 String lembrete = request.getParameter("txtLembrete"); 
 String nivel = request.getParameter("txtNivel"); 
 Usuario usuario = new Usuario(); 
 usuario.setId(id); 
 usuario.setNome(nome); 
 usuario.setLogin(login); 
 usuario.setSenha(senha); 
 usuario.setLembrete(lembrete); 
 usuario.setNivel(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'>Voltar</a>"); 
 out.print("</html>"); 
 } 
 
 } 
 } 
============================================================ 
package controle; 
 
import dao.Memoria; 
import dao.UsuarioDAO; 
import java.io.IOException; 
 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 
import modelo.Usuario; 
 
 
 
/** 
 * 
 * @author Iris Basilio Ferreira 
 */ 
@WebServlet(name = "InserirUsuario", urlPatterns = {"/InserirUsuario"}) 
public class InserirUsuario extends HttpServlet { 
 
 
 /** 
 * Processes requests for both HTTP <code>GET</code> and 
<code>POST</code> 
 * methods. 
 * 
 * @param request servlet request 
 * @param response servlet response 
 * @throws ServletException if a servlet-specific error occurs 
 * @throws IOException if an I/O error occurs 
 */ 
 protected void processRequest(HttpServletRequest request, 
HttpServletResponse response) 
 throws ServletException, IOException { 
 response.setContentType("text/html;charset=UTF-8"); 
 
 String Nome = request.getParameter("txtNome"); 
 String Usuario = request.getParameter("txtUsuario"); 
 String Senha = request.getParameter("txtSenha"); 
 String Lembrete = request.getParameter("txtLembrete"); 
 String Nivel = "USER"; 
 
 Usuario usuario = new Usuario(); 
 usuario.setNome(Nome); 
 usuario.setLogin(Usuario); 
 usuario.setSenha(Senha); 
 
 usuario.setLembrete(Lembrete); 
 usuario.setNivel(Nivel); 
 
 UsuarioDAO usuarioDAO = new UsuarioDAO(); 
 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.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 
 
import modelo.Usuario; 
 
/** 
 * 
 * @author Iris Basilio Ferreira 
 */ 
public class LoginServlet extends HttpServlet { 
 
 @Override 
 protected void doPost(HttpServletRequest request, 
HttpServletResponse response) 
 throws ServletException, 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.getRequestDispatcher("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").forward(request, 
response); 
 
 } 
 } 
 } 
} 
============================================================ 
 
package controle; 
 
import java.io.IOException; 
 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import dao.UsuarioDAO; 
import java.io.PrintWriter; 
 
/** 
 * 
 * @author Iris Basilio Ferreira 
 */ 
public class RemoverUsuario extends HttpServlet { 
 
 
 /** 
 * Processes requests for both HTTP <code>GET</code> and 
<code>POST</code> 
 * methods. 
 * 
 * @param request servlet request 
 * @param response servlet response 
 * @throws ServletException if a servlet-specific error occurs 
 * @throws IOException if an I/O error occurs 
 */ 
 
 
 @Override 
 protected void doGet(HttpServletRequest request, HttpServletResponse 
response) 
 throws ServletException, IOException { 
 
 } 
 
 
 @Override 
 protected void doPost(HttpServletRequest request, 
HttpServletResponse response) 
 throws ServletException, IOException { 
 
 int id = Integer.parseInt(request.getParameter("txtId")); 
 
 
 UsuarioDAO usuarioDAO = 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'>Voltar</a>"); 
 out.print("</html>"); 
 } 
 
 } 
 
} 
 
 
 
 
 
 
 
 
Resultado final: