Você está na página 1de 29

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: