Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIADE ESTÁCIO DE SÁ Pós-Graduação em Engenharia de Software TRABALHO FINAL Disciplina: Projeto e Implementação Orientado a Objetos JOÃO BOSCO ALEXANDRE DA COSTA Matrícula: 201911010255 Fortaleza – CE 2020 Objetivo Desenvolver um sistema que realize as operações CRUD e controle sessão de usuário para Web seguindo os padrões MVC II, Front Controller e Command. Sistema de Anúncio Qualquer usuário poderá ver os anúncios publicados no website, cada anúncio estará vinculada a uma categoria. O usuário administrador/editor/redator, logado, poderá cadastrar, excluir, editar ou deletar uma notícia (registro), bem como criar novas categorias. Técnologias Usadas Java Servlet jsp Javascript MySql Padrões usados MVC Front Controller Command DDD FluentValidation Repository Frameworks usados Jquery Bootstrap Font awesome IDE: Elicpse Mars Banco de Dados MySql CREATE TABLE `publicidade`.`categoria` (`GUID` VARCHAR(40) NOT NULL, `NOME` VARCHAR(50) NOT NULL, PRIMARY KEY (`GUID`)); CREATE TABLE `publicidade`.`anunciante` (`GUID` VARCHAR(40) NOT NULL, `NOME` VARCHAR(100), `DOCUMENTO` VARCHAR(30), `ENDERECO` VARCHAR(150), `TELEFONE` VARCHAR(20), `DATACRIACAO` DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`GUID`)) CREATE TABLE `publicidade`.`anuncio` (`GUID` VARCHAR(40) NOT NULL, `GUIDANUNCIANTE` VARCHAR(40) NOT NULL, `GUIDCATEGORIA` VARCHAR(40) NOT NULL, `DATAVALIDADE` DATETIME NOT NULL, `DATACRIACAO` DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(`GUID`)) CREATE TABLE `publicidade`.`usuario` (`GUID` VARCHAR(40) NOT NULL, `NOME` VARCHAR(45) NOT NULL, `LOGIN` VARCHAR(45) NOT NULL, `SENHA` VARCHAR(45) NULL, PRIMARY KEY (`GUID`)); ALTER TABLE anuncio ADD FOREIGN KEY (`GUIDANUNCIANTE`) REFERENCES ANUNCIANTE(`GUID`) ALTER TABLE anuncio ADD FOREIGN KEY (`GUIDCATEGORIA`) REFERENCES CATEGORIA(`GUID`) ALTER TABLE `publicidade`.`anunciante` ADD COLUMN `CIDADE` VARCHAR(45) NULL AFTER `DATACRIACAO`; SELECT ANUNCIO.GUID, ANUNCIO.GUIDANUNCIANTE, ANUNCIO.GUIDCATEGORIA, ANUNCIO.DATAVALIDADE, ANUNCIO.DATACRIACAO, ANUNCIANTE.NOME, ANUNCIANTE.DOCUMENTO, ANUNCIANTE.ENDERECO, ANUNCIANTE.TELEFONE, CATEGORIA.NOME AS CATEGORIANOME FROM ANUNCIO INNER JOIN ANUNCIANTE ON ANUNCIANTE.GUID = ANUNCIO.GUIDANUNCIANTE INNER JOIN CATEGORIA ON CATEGORIA.GUID = ANUNCIO.GUIDCATEGORIA Inserts realizados no Banco -- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) -- Host: localhost Database: publicidade -- Server version 5.7.21-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- Dumping data for table `anunciante` LOCK TABLES `anunciante` WRITE; /*!40000 ALTER TABLE `anunciante` DISABLE KEYS */; INSERT INTO `anunciante` VALUES ('6c8c380d-b5d4-44b8-835b-b317b51053c2','novo anunciante tira isso aqui','0123456789','teste endereco','0123456789','2018-01-21 09:52:44','testetse'),('76258549-14c2-4ddd-85c3-ab7810ff44de','Marcos Aureliano Lima Costa','012345679','rua modesta, 120','85987752207','2018-01-21 09:50:41','fortaleza'); /*!40000 ALTER TABLE `anunciante` ENABLE KEYS */; UNLOCK TABLES; -- Dumping data for table `anuncio` LOCK TABLES `anuncio` WRITE; /*!40000 ALTER TABLE `anuncio` DISABLE KEYS */; INSERT INTO `anuncio` VALUES ('11639eca-befd-4268-9b08-94f43b2a7411','76258549- 14c2-4ddd-85c3-ab7810ff44de','2e8a8188-8915-40cd-80e7-d956ff36019e','2018-01-21 18:10:33','2018-01-21 18:10:33'),('443c5e20-3bc0-4e8b-b11d-faf188146ee5','6c8c380d-b5d4- 44b8-835b-b317b51053c2','229678bb-79f9-4bbb-ac01-7346396b0100','2018-01-21 18:10:29','2018-01-21 18:10:29'); /*!40000 ALTER TABLE `anuncio` ENABLE KEYS */; UNLOCK TABLES; -- Dumping data for table `categoria` LOCK TABLES `categoria` WRITE; /*!40000 ALTER TABLE `categoria` DISABLE KEYS */; INSERT INTO `categoria` VALUES ('229678bb-79f9-4bbb-ac01- 7346396b0100','Profissional'),('2e8a8188-8915-40cd-80e7-d956ff36019e','Cama mesa e banho'),('7a96b7be-7ea8-409b-9ce8-719583bb9d61','Casa e cozinha'),('9d3467ce-de59-4ca0- 845e-e4dc283f146a','Beleza'),('ff0d19c7-3932-416c-bd7a-6a77e70f4f7d','transporte'); /*!40000 ALTER TABLE `categoria` ENABLE KEYS */; UNLOCK TABLES; -- Dumping data for table `usuario` LOCK TABLES `usuario` WRITE; /*!40000 ALTER TABLE `usuario` DISABLE KEYS */; INSERT INTO `usuario` VALUES ('280d14c1-5533-4ec0-9db7- 1409be862126','novoUsuario','teste3','teste4'),('43617ae9-1549-45bf-bf02- 32964be0bfa6','novoUsuario','teste3','123456'),('47324185-4735-4157-9cb2- 304858f15793','teste1','teste1','123546'),('581e3a86-9126-42ad-9b1e- 7f80a522bb18','teste5','teste6','123456'),('7df6d488-35c9-4d78-8268- 7ba152124282','teste','teste','123456'),('87832965-dd06-4ae2-a002- 6b8562f206f8','novoUsuario','teste3','teste4'),('889bca0b-ea79-47ae-bccf- 0f51d6b0079b','admin','admin','123456'),('9a65e8ef-203f-4b7f-9bae- 4db68afe1244','teste6','teste6','123456'),('a010cb4b-76bc-4282-91b9- 2b0413bbc828','novoUsuario','teste3','teste4'),('c3baa831-47a0-4bb8-a1df- 9387d71155c2','novoUsuario','teste3','123456'),('d8766aa7-0cfd-4fae-9e9b- 541c5342201c','login1','teste5','123456'); /*!40000 ALTER TABLE `usuario` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2020-02-20 21:16:26 package factory; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionFactory { private String driver = "com.mysql.jdbc.Driver";//"com.microsoft.sqlserver";//"net.sourceforge.jtds.jdbc.Dr iver";//"com.microsoft.sqlserver";//"com.microsoft.sqlserver.jdbc.SQLServerDriver"; private String connectionStr = "jdbc:mysql://localhost:3306/pioopublicidade"; private String username = "aplicacao"; private String password = "123456"; private static ConnectionFactory connectionFactory = null; private ConnectionFactory(){ try{ Class.forName(driver); }catch(ClassNotFoundException e){ e.printStackTrace(); } } public Connection getConnection() throws SQLException{ Connection conn = null; try{ conn = DriverManager.getConnection(connectionStr, username, password); }catch(SQLException e){ e.printStackTrace(); } return conn; } public static ConnectionFactory getInstance(){ if(connectionFactory == null) connectionFactory = new ConnectionFactory(); return connectionFactory; } } package servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; public class Controller extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Command comando = null; try { comando =(Command)Class.forName("command.navegacao."+request.getParameter("command")).newIns tance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } comando.execute(request, response); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } } package fluent; import java.util.ArrayList; import java.util.Date; public abstract class Validacao { private ArrayList<String> mensagens; public Validacao() { this.mensagens = new ArrayList<String>(); } public void deveSerVazio(Object obj, String mensagem) { if(obj != null) { this.mensagens.add(mensagem); return; } } public void deveSerVazio(String obj, String mensagem) { if(!obj.isEmpty()) { this.adicionarMensagem(mensagem); } } public void naoDeveSerVazio(Object obj, String mensagem) { if(obj == null) { this.mensagens.add(mensagem); return; } } public void naoDeveSerVazio(String obj, String mensagem) { if(obj.isEmpty()) { this.adicionarMensagem(mensagem); } } public void deveSerMaiorQue(int valor, int compare, String mensagem) { if(compare > valor) { this.adicionarMensagem(mensagem); } } public void deveSerMaiorQue(Date valor, Date compare, String mensagem) { if(compare.before(valor)) { this.adicionarMensagem(mensagem); } } public void deveSerMenorQue(int valor, int compare, String mensagem) { if(compare < valor) { this.adicionarMensagem(mensagem); } } public void deveSerMenorQue(Date valor, Date compare, String mensagem) { if(compare.after(valor)) { this.adicionarMensagem(mensagem); } } public void deveSerIgual(String valor, String compare, String mensagem) { if(!valor.equals(compare)) { this.adicionarMensagem(mensagem); } } public void naoDeveSerIgual(String valor, String compare, String mensagem) { if(valor.equals(compare)) { this.adicionarMensagem(mensagem); } } public boolean EValido() { return this.mensagens.isEmpty(); } public boolean EInvalido() { return !this.mensagens.isEmpty(); } public void adicionarMensagem(String mensagem) { this.mensagens.add(mensagem); } public void adicionarMensagens(ArrayList mensagens) { this.mensagens.addAll(mensagens); } public ArrayList<String> obterMensagens() { return this.mensagens; } } package domain; import java.util.UUID; import fluent.Validacao; public abstract class Entidade extends Validacao { private UUID id; private boolean novoRegistro; public Entidade() { super(); this.setId(UUID.randomUUID()); this.novoRegistro = true; } private void setId(UUID valor) { this.novoRegistro = false; this.id = valor; } public void setId(String valor) { this.novoRegistro = false; this.id = UUID.fromString(valor); } public String getId() { return id.toString(); } public boolean isNovoRegistro() { return novoRegistro; } } package domain; public class Usuario extends Entidade { private String nome; private String login; private String senha; public Usuario(String login, String senha) { super(); naoDeveSerVazio(login, "Login deve ser informado"); naoDeveSerVazio(senha, "Senha deve ser informado"); this.login = login; this.senha = senha; } public Usuario(String nome, String login, String senha) { super(); naoDeveSerVazio(nome, "Nome deve ser informado"); naoDeveSerVazio(login, "Login deve ser informado"); naoDeveSerVazio(senha, "Senha deve ser informado"); this.nome = nome; this.login = login; this.senha = senha; } public void setSenha(String senha, String senhaCompare) { deveSerIgual(senha, senhaCompare, "Senhas não coicidem"); this.senha = senha; } public String getNome() { return nome; } public String getLogin() { return login; } public String getSenha() { return senha; } } package domain; public class Categoria extends Entidade { private String nome; public Categoria(String nome) { super(); super.naoDeveSerVazio(nome, "Nome da categoria deve ser informado!"); this.nome = nome; } public String getNome() { return this.nome; } } package domain; import java.util.Date; public class Anuncio extends Entidade { private Date dataCriacao; private Date dataValidade; private Categoria categoria; private Anunciante anunciante; protected Anuncio() { super(); } public Anuncio(Categoria categoria, Anunciante anunciante, Date dataValidade) { super(); super.adicionarMensagens(categoria.obterMensagens()); super.adicionarMensagens(anunciante.obterMensagens()); super.deveSerMaiorQue(dataValidade, new Date(), "Data de validade deve ser maior do que a data atual"); this.setDataCriacao(new Date()); this.categoria = categoria; this.anunciante = anunciante; this.dataValidade = dataValidade; } public Date getDataCriacao() { return dataCriacao; } public Date getDataValidade() { return dataValidade; } public Categoria getCategoria() { return categoria; } public Anunciante getAnunciante() { return anunciante; } public void setDataCriacao(Date dataCriacao) { this.dataCriacao = dataCriacao; } } package domain; import java.util.Date; public class Anunciante extends Entidade { private String nome; private String documento; private String endereco; private String cidade; private String telefone; private Date dataCriacao; protected Anunciante() { super(); } public Anunciante(String nome, String documento, String endereco, String cidade, String telefone) { super(); super.naoDeveSerVazio(nome, "Nome deve ser informado!"); super.naoDeveSerVazio(documento, "Documento deve ser informado!"); super.naoDeveSerVazio(endereco, "Endereço deve ser informado!"); super.naoDeveSerVazio(cidade, "Cidade deve ser informada!"); super.naoDeveSerVazio(telefone, "Telefone deve ser informado!"); this.nome = nome; this.documento = documento; this.endereco = endereco; this.cidade = cidade; this.telefone = telefone; this.setDataCriacao(new Date()); } public String getNome() { return nome; } public String getDocumento() { return documento; } public String getEndereco() { return endereco; } public String getCidade() { return cidade; } public String getTelefone() { return telefone; } public Date getDataCriacao() { return dataCriacao; } public void setDataCriacao(Date dataCriacao) { this.dataCriacao = dataCriacao; } } package command.navegacao; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class LoginUsuario implements Command { private UsuarioRepositorio usuarioRepositorio; public LoginUsuario() { if(usuarioRepositorio == null) { this.usuarioRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response){ try { if(request.getParameter("login") == null && request.getParameter("senha") == null) { request.getSession().setAttribute("usuarioLogado", null); RequestDispatcher d = request.getRequestDispatcher("/Usuario/LoginUsuario.jsp"); d.forward(request,response); } else { Usuario usuario = new Usuario(request.getParameter("login").toString(), request.getParameter("senha").toString()); if(usuario.EValido()) { usuario = this.usuarioRepositorio.Login(usuario); if(usuario != null) { request.getSession().setAttribute("usuarioLogado", usuario); RequestDispatcher d = request.getRequestDispatcher("/index.jsp"); d.forward(request,response); } else { request.getSession().setAttribute("usuarioLogado", null); RequestDispatcher d = request.getRequestDispatcher("/Usuario/LoginUsuario.jsp"); d.forward(request,response); } } else { request.getSession().setAttribute("usuarioLogado", null); RequestDispatcher d = request.getRequestDispatcher("/Usuario/LoginUsuario.jsp"); d.forward(request,response); } } } catch (IOException | ServletException e) { e.printStackTrace(); } } } package command.navegacao; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class LogoutUsuario implements Command { private UsuarioRepositorio usuarioRepositorio; public LogoutUsuario() { if(usuarioRepositorio == null) { this.usuarioRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { request.getSession().setAttribute("usuarioLogado", null); request.getRequestDispatcher("/index.jsp").forward(request,response); } catch (IOException | ServletException e) { e.printStackTrace(); } } } package command.navegacao; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class SalvarUsuario implements Command { private UsuarioRepositorio categoriaRepositorio; public SalvarUsuario() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { boolean isNovo = true; Usuario usuariologado = (Usuario)request.getSession().getAttribute("usuarioLogado"); Usuario usuario = new Usuario(request.getParameter("nome"), request.getParameter("login"), request.getParameter("senha")); if(!request.getParameter("isnew").equals("true")) { usuario.setId(request.getParameter("id")); isNovo = false; } if(usuario.EValido()) { if(isNovo) { this.categoriaRepositorio.inserir(usuario); } else { this.categoriaRepositorio.alterar(usuario); } } if(usuariologado == null) { request.getRequestDispatcher("Controller?command=LoginUsuario").forward(reque st,response); } else { request.getRequestDispatcher("Controller?command=ListarUsuario").forward(requ est,response); } } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class ListarUsuario implements Command { private UsuarioRepositorio usuarioRepositorio; public ListarUsuario() { if(usuarioRepositorio == null) { this.usuarioRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { List<Usuario> usuarios = this.usuarioRepositorio.listarConsulta(""); request.setAttribute("usuarios", usuarios); RequestDispatcher d = request.getRequestDispatcher("/Usuario/ListarUsuario.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.Date; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncioRepositorio; public class SalvarAnuncio implements Command { private AnuncioRepositorio anuncioRepositorio; public SalvarAnuncio() { if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { boolean isNovo = true; Categoria categoria = new Categoria(""); Anunciante anunciante = new Anunciante("", "", "", "", ""); categoria.setId(request.getParameter("categoriaId").toString()); anunciante.setId(request.getParameter("anuncianteId").toString()); Anuncio anuncio = new Anuncio(categoria, anunciante, new Date()); if(!request.getParameter("isnew").equals("true")) { anuncio.setId(request.getParameter("id")); isNovo = false; } if(isNovo) { this.anuncioRepositorio.inserir(anuncio); } else { this.anuncioRepositorio.alterar(anuncio); } RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarAnuncio"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncioRepositorio; import repositorios.CategoriaRepositorio; public class ListarAnuncio implements Command { private AnuncioRepositorio anuncioRepositorio; public ListarAnuncio() { if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { List<Anuncio> anuncios = this.anuncioRepositorio.listarConsulta(""); request.setAttribute("anuncios", anuncios); RequestDispatcher d = request.getRequestDispatcher("/Anuncios/ListarAnuncio.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList;import java.util.Date; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncianteRepositorio; import repositorios.AnuncioRepositorio; import repositorios.CategoriaRepositorio; public class EditarAnuncio implements Command { private CategoriaRepositorio categoriaRepositorio; private AnuncianteRepositorio anuncianteRepositorio; private AnuncioRepositorio anuncioRepositorio; public EditarAnuncio() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.CategoriaRepositorio(); } if(anuncianteRepositorio == null) { this.anuncianteRepositorio = new infra.repositorios.AnuncianteRepositorio(); } if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Anuncio anuncio = null; if(request.getAttribute("id") != null) { anuncio = this.anuncioRepositorio.selecionarConsulta(request.getAttribute("id").toString()); } else { anuncio = new Anuncio(new Categoria(""), new Anunciante("", "", "", "", ""), new Date()); } List<Categoria> categorias = this.categoriaRepositorio.listarConsulta(""); List<Anunciante> anunciantes = this.anuncianteRepositorio.listarConsulta(""); request.setAttribute("categorias", categorias); request.setAttribute("anunciantes", anunciantes); request.setAttribute("anuncio", anuncio); RequestDispatcher d = request.getRequestDispatcher("/Anuncios/EditarAnuncio.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncioRepositorio; public class DeletarAnuncio implements Command { private AnuncioRepositorio anuncioRepositorio; public DeletarAnuncio() { if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Anuncio anuncio = new Anuncio(new Categoria(""), new Anunciante("", "", "", "", ""), new Date()); anuncio.setId(request.getParameter("id")); this.anuncioRepositorio.excluir(anuncio); RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarAnuncio"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } }
Compartilhar