Você está na página 1de 40

5.

1 PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

Prof. Jeangrei Veiga

Sumário
REQUISITOS ............................................................................................................................................................... 1
PROJETO JAVA WEB COM ECLIPSE............................................................................................................................ 1
1. CRIAR O PROJETO JAVA WEB ........................................................................................................................ 2
2. IMPORTAR AS BIBLIOTECAS JSTL .................................................................................................................. 2
3. ESTRUTURAR O BACKEND E O FRONTEND ................................................................................................... 4
3.1 BACKEND .................................................................................................................................................... 4
3.2 FRONTEND ................................................................................................................................................. 4
4. IMPLEMENTAR CLASSES E PÁGINAS JSP ....................................................................................................... 5
4.1 BACKEND .......................................................................................................................................................... 5
4.2 FRONTEND ...............................................................................................................................................10
TESTANDO APLICAÇÃO COM PERSISTÊNCIA EM MEMÓRIA ..................................................................................21
PREPARANDO A BASE DE DADOS ...........................................................................................................................26
1. INSTALAR O SGBD........................................................................................................................................26
2. CRIAR A INSTÂNCIA DA BASE DE DADOS ....................................................................................................28
3. ACESSAR A INSTÂNCIA DO BANCO DE DADOS ...........................................................................................30
ALTERAÇÕES NO PROJETO PARA PERSISTIR EM BANCO DE DADOS .....................................................................33
1. IMPORTAR A BIBLIOTECA DO POSTGRESQL ...............................................................................................33
2. ALTERAÇÕES NA ESTRUTURA DO BACKEND ..............................................................................................33
TESTANDO APLICAÇÃO COM PERSISTÊNCIA EM BANCO DE DADOS .....................................................................40

REQUISITOS
▪ S.O. Windows 10
▪ Eclipse versão eclipse-jee-2021-12-R-win32-x86_64
▪ Apache Tomcat 10
▪ JDK 11
▪ PostgreSQL 11

PROJETO JAVA WEB COM ECLIPSE

Nesta sessão serão apresentados os passos para criação e teste do projeto Java Web utilizando a IDE Eclipse.
5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

1. CRIAR O PROJETO JAVA WEB


Nesta etapa será descrita a criação do projeto no IDE Eclipse.

Criar um projeto novo chamado Dynamic Web Project “WebApplicationDAO”.

2. IMPORTAR AS BIBLIOTECAS JSTL

Nesta etapa vamos demonstrar como adicionar as bibliotecas que serão utilizadas no projeto.

Iniciar o processo de import para o projeto.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 2


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

Selecionar a pasta onde as bibliotecas se encontram e selecionar as bibliotecas.

Ocorrendo tudo certo, as bibliotecas serão apresentadas na pasta “/src/main/webapp/WEB-INF/lib”.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 3


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

3. ESTRUTURAR O BACKEND E O FRONTEND

Nesta etapa serão apresentadas as etapas de criação de classes, pacotes, pastas e páginas JSP.

3.1 BACKEND

Neste momento serão apresentados os passos para criação dos artefatos referente a estrutura do
Backend do projeto.

Observações:

• Criar a interface PessoaDAO.java no pacote [br.com.javaweb.dao]


• Criar a classe PessoaDAOMemoriaImpl.java no pacote [br.com.javaweb.dao]
• Criar a classe Pessoa.java no pacote [br.com. javaweb.entity]
• Criar a classe PessoaBean.java no pacote [br.com. javaweb.bean]

Estrutura final.

3.2 FRONTEND

Neste momento serão apresentados os passos para criação dos artefatos responsáveis pelo Frontend do
projeto.

Observações:

• Criar a página JSP Menu.jsp na pasta /webapp


• Criar a página JSP Login.jsp na pasta /webapp
• Criar a página JSP [PessoaList.jsp] na pasta /webapp /admin
• Criar a página JSP [PessoaCreate.jsp] na pasta /webapp /admin
• Criar a página JSP [PessoaEdit.jsp] na pasta /webapp /admin

Estrutura final.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 4


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

4. IMPLEMENTAR CLASSES E PÁGINAS JSP

Nesta etapa serão apresentadas as etapas de implementação do código fonte das classes e páginas JSP.

4.1 BACKEND

Neste momento serão apresentados os passos para implementação das classes Java.

a. Implementar a classe de entidade Pessoa.java.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 5


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

b. Implementar a interface DAO (Data Access Object) PessoaDAO.java, interface responsável por
disponibilizar os métodos que serão implementados nas classes concretas. Vamos utilizar o
Design Patterns (Padrão de Projeto) Strategy para implementação do padrão DAO.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 6


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

c. Implementar a classe de DAO (Data Access Object) PessoaDAOMemoriaImpl.java que


implementa a interface PessoaDAO.java. Essa classe será responsável por gerenciar as
transações em memória.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 7


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 8


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

d. Implementar a classe PessoaBean.java.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 9


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

4.2 FRONTEND

Neste momento serão apresentados os passos para implementação das páginas JSP.

a. Implementar a página web Login.jsp, responsável por validar as credenciais do usuário. Foi
criado um usuário padrão chamado “root” contendo a senha “123”, o qual deve ser utilizado
antes de cadastrar uma pessoa.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 10


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

Conteúdo HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Login</title>
</head>
<body>
<h1>Login JSP</h1>
<form method="POST">
<p>Login: <input type="text" name="user"> </p>
<p>Senha: <input type="password" name="passwd"> </p>
<p><input type="submit" value="Submeter" name="submete">
<input type="reset" value="Limpar"></p>
</form>
</body>
</html>

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 11


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

b. Implementar a página Menu.jsp, responsável por exibir um menu para os casos de uso
disponíveis.

Conteúdo HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Menu Principal</title>
</head>
<body>
<form method="POST">
<div>
<a href="admin/PessoaList.jsp">Pessoa</a>
</div>
<br>
<input type="submit" value="Sair" name="submete">
</form>
</body>
</html>

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 12


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

c. Implementar a página PessoaList.jsp, responsável por apresentar a lista de pessoa cadastradas e


disponibilizar a ação de editar, excluir ou criar uma nova Pessoa.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 13


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

Parte do Código HTM:


<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Lista de Pessoas</title>
</head>
<body>
<form method="POST">
<div id="cadastro">
<fieldset>
<legend>PESSOAS CADASTRADAS</legend>
<table border="1">
<tr>
<td>ID</td>
<td>NOME</td>
<td>USUARIO</td>
<td>SENHA</td>
<td>AÇÃO</td>
</tr>
</table>
</fieldset>
</div>
<hr />
<input type="button" value="Novo" onclick="nova()">
<input type="button" value="Voltar" onclick="voltar()">
</form>
</body>
</html>

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 14


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

d. Implementar a página PessoaCreate.jsp, responsável por apresentar o formulário para criar um


registro de Pessoa.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 15


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 16


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

Código HTML.
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Nova Pessoa</title>
</head>
<body>
<form method="POST">
<div id="cadastro">
<fieldset>
<legend>Nova Pessoa</legend>
<table>
<tr>
<td><label for="nome">Nome: </label></td>
<td><input type="text" name="txtNome" id="nome"
/></td>
</tr>
<tr>
<td><label for="usuario">Usuário: </label></td>
<td><input type="text" name="txtUsuario"
id="usuario"
required="true" size="10" maxlength="10"
/></td>
</tr>
<tr>
<td><label for="senha">Senha: </label></td>
<td><input type="text" name="txtSenha" id="senha"
required="true" size="6"
maxlength="6"/></td>
</tr>
</table>
<hr>
<input type="submit" value="Salvar" name="salvar"> <input
type="reset" value="Limpar"> <input type="button"
value="Voltar" onClick="voltar()">
</fieldset>
</div>
</form>
</body>
</html>

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 17


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

e. Implementar a página PessoaEdit.jsp, responsável por apresentar o formulário para editar um


registro de Pessoa.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 18


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 19


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

Parte do código HTML.


<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Atualizar Pessoa</title>
</head>
<body>
<form method="POST">
<div id="Form">
<fieldset>
<legend>Atualizar Pessoa</legend>
<table>
<tr>
<td><label for="id">ID: </label></td>
<td><input type="text" name="txtId" id="id" size="6"
disabled="true" value="" /></td>
</tr>
<tr>
<td><label for="nome">Nome: </label></td>
<td><input type="text" name="txtNome" id="nome"
required="true" value="" /></td>
</tr>
<tr>
<td><label for="usuario">Usuário: </label></td>
<td><input type="text" name="txtUsuario" id="usuario"
required="true"
size="10" maxlength="10" value="" /></td>
</tr>
<tr>
<td><label for="senha">Senha: </label></td>
<td><input type="text" name="txtSenha" id="senha"
required="true"
size="6" maxlength="6" value="" /></td>
</tr>
</table>
<hr>
<input type="submit" value="Salvar" name="salvar"> <input
type="button" value="Voltar" onClick="Voltar()">
</fieldset>
</div>
</form>
</body>
</html>

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 20


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

TESTANDO APLICAÇÃO COM PERSISTÊNCIA EM MEMÓRIA


1. Ao executa a aplicação, a mesma deve direcionar para página de Login.

2. Ao inserir as credenciais incorretas e executar ação de submeter, a página deve exibir a mensagem de
falha e manter o usuário na mesma página.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 21


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

3. Ao inserir as credenciais válidas (usuário padrão = root e senha =123) e executar ação de submeter, o
sistema deve direcionar para página de Menu. Será possível realizar login de um usuário após efetuar
seu cadastro com sucesso.

4. Após clicar no link de Pessoa, o sistema deve direcionar para página que contém a lista de pessoas
cadastradas.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 22


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

5. Ao clicar em novo, o sistema deve direcionar para página de cadastro.

6. Após inserir os dados e executar ação de salvar, o sistema deve exibir uma mensagem e manter a
mesma tela de cadastro aberta.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 23


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

7. Ao executar ação de voltar, o sistema deve carregar a página da lista de pessoas cadastradas.

8. Ao clicar em editar, o sistema deve abrir a página de edição da pessoa selecionada. Se o usuário alterar
os valores e executar ação de salvar, o sistema salva os dados.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 24


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

9. Ao executar ação de voltar, o sistema deve voltar para página da lista e exibir o registro atualizado.

10. Ao executar ação de excluir, o sistema deve excluir o registro com sucesso e atualizar a tabela.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 25


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

PREPARANDO A BASE DE DADOS PARA PERSISTÊNCIA COM POSTGRESQL


Esta sessão será responsável por demonstrar como instalar o SGBD (Sistema Gerenciador de Banco de
Dados) Postgresql e criar uma instância para trabalhar com projeto.

1. INSTALAR O SGBD
Nesta etapa será descrito como instalar o SGBD.
a. Executar o processo de instalação e selecionar “next” até o momento da definição da senha.
b. Definir uma senha, a qual será utilizada para conectar o aplicativo no SGBD.

Esta senha será


utilizada para
conectar a aplicação.

c. Definir a porta que será utilizada para conectar no SGBD. De preferência, não alterar esse valor
padrão sugerido 5432.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 26


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

d. Executar “next” nas próximas caixas de diálogos até iniciar o processo de instalação.

e. Após concluir o processo de instalação, será apresentada uma caixa de dialogo perguntando se
deseja instalar alguns complementos. Neste momento basta desmarcar o checkbox e finalizar o
processo de instalação. Após essa etapa, o processo de instalação esta concluído.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 27


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

2. CRIAR A INSTÂNCIA DA BASE DE DADOS

Nesta etapa será descrito como criar uma instância da base de dados.

a. Após a instalação do SGBD PostgreSQL, abrir o menu iniciar do Windows e executar o comando
“PGADMIN”. Após executar esse comando, a interface do PGADMIN será aberta.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 28


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

b. Clicar com botão direito do mouse e selecionar a opção “Connect Server” e inserir a senha
criada no momento da instalação do SGBD.

c. Criar a instância do banco de dados descrito como “DB_AULAPROJETOWEB”

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 29


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

3. ACESSAR A INSTÂNCIA DO BANCO DE DADOS

Nesta etapa vamos acessar a instância do banco de dados “DB_AULAPROJETOWEB” e utilizar o query
tool para executar nossas queries.

a. Basta selecionar a instância e clicar na opção query tool.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 30


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

b. Será apresentado uma janela para edição que query.

c. Para executar uma query, basta adicionar a query e clicar no botão executar.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 31


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

d. Localizando as tabelas criadas na instância.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 32


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

ALTERAÇÕES NO PROJETO PARA PERSISTIR EM BANCO DE DADOS


Nesta etapa vamos tratar das alterações necessárias para promover a persistência de dados via banco
PostgreSQL.

1. IMPORTAR A BIBLIOTECA DO POSTGRESQL

Basta executar o mesmo processo definido no item

IMPORTAR AS BIBLIOTECAS JSTL deste documento.

2. ALTERAÇÕES NA ESTRUTURA DO BACKEND

Nesta etapa serão apresentados os passos para alteração das classes responsáveis pela persistência
de dados no banco de dados.

a. CRIAR AS CLASSES PARA PERSISTÊNCIA


• Criar a classe ConexaoDB.java no pacote [br.com.javaweb.dao].
• Criar a classe PessoaDAODBImpl.java no pacote [br.com.javaweb.dao].

b. IMPLEMENTAR AS CLASSES PARA PERSISTÊNCIA


• ConexaoDB.java: classe responsável por executar os métodos genéricos como abrir ou
fechar uma conexão com banco de dados, executar uma atualização ou pesquisa na
base de dados, ...

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 33


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 34


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

• PessoaDAODBImpl.java: classe que implementa a interface PessoaDAO.java, sendo


responsável por tratar da persistência de dados de Pessoa em banco de dados.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 35


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 36


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 37


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

• LATERAR A CLASSE DE CONTROLLER (PessoaBean.java)


Implementar alterações nos métodos para definir o uso de persistência em banco de
dados.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 38


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

3. ALTERAÇÕES NA ESTRUTURA DO FRONTEND

ATENÇÃO! Não será necessária nenhuma alteração a nível de Frontend (páginas JSP).

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 39


5.1 TUTORIAL PROJETO JAVA WEB – IMPLEMENTANDO PADRÃO DAO

TESTANDO APLICAÇÃO COM PERSISTÊNCIA EM BANCO DE DADOS


1. Ao executa ação de cadastrar, editar, excluir ou alterar, as modificações devem refletir na base de
dados.

2. Mesmo executando ação de SAIR utilizado a partir do menu principal, o usuário poderá logar com
sucesso, pois as credenciais foram salvas em banco de dados.

MV – VisionnIT – Introdução a Programação Java Web – Prof. Jeangrei Veiga 40

Você também pode gostar