Java EE
Java EE
DESENVOLVIMENTO DE APLICAÇÕES
COM JDBC E SPRING BOOT
Jadir Custódio Mendonça Junior
Sumário
Java Avançado
Introdução
Nosso Objetivo
Links Informativos
Comunicação Cliente/Servidor
O que é Servidor
O que é Cliente
Comunicação Cliente/Servidor
O Padrão MVC
Conhecendo a Ferramenta
3
Introdução
Introdução
4
Nosso Objetivo.
Desenvolvimento de aplicação web em Java:
JAVA EE:
◼ Servlets;
◼ Java Server Page;
◼ JDBC.
Framework Web (Spring):
◼ Spring MVC;
◼ Spring Boot;
◼ Thymeleaf (motor de templates).
Framework de Persistência de Dados:
◼ Especificação JPA (Java Persistence API);
◼ Hibernate.
Ferramentas:
◼ Spring Tools Suite (IDE)
◼ Baseado no Eclipse
◼ Maven (Gerenciador de Builder)
Introdução
5
Links informativos
Framework
https://pt.wikipedia.org/wiki/Framework
Spring Framework
https://spring.io (site oficial)
https://pt.wikipedia.org/wiki/Spring_Framework
Java Persistence API
https://pt.wikipedia.org/wiki/Java_Persistence_API
http://enos.itcollege.ee/~jpoial/java/naited/JPA_Mini_Book.pdf
Hibernate
http://hibernate.org (site oficial)
https://pt.wikipedia.org/wiki/Hibernate
Ferramentas
Spring Tools Suite : https://spring.io/tools
Maven : https://maven.apache.org
Sobre o maven: https://pt.wikipedia.org/wiki/Apache_Maven
6
Sistemas Distribuídos
Conceito de Sistemas Distribuídos
7
Cadastramento
Reserva
Renovação
Usuário da
biblioteca
consultas
Cadastramentos
Reserva
Empréstimo Firewall
Renovação Internet
Devolução
Atendimento Impressora
Servidor
Web
Consultas Comunicação
Comprovantes sobre
aquisições
Servidor
Sistema da Biblioteca
Impressora Solicitações
de aquisição
Consulta
Servidor
Sistema de Compras
Usuário da
biblioteca
Comunicação
14
Cliente / Servidor
Comunicação Cliente/Servidor
15
O que é
Servidor
Comunicação Cliente/Servidor
16
Servidor
São equipamentos geralmente com maior poder de
E-mail
Arquivos
Web
Aplicações
Banco de Dados
Entre outros...
Comunicação Cliente/Servidor
17
Servidor
Principais Características:
Execução contínua;
Recebe e responde a solicitações dos Clientes;
O que é
Cliente
Comunicação Cliente/Servidor
19
Cliente
É um termo empregado em computação e representa uma
entidade que consome os serviços de um servidor, em geral
através do uso de uma rede de computadores numa
arquitetura cliente-servidor.
Características do Cliente:
Inicia pedidos para servidores;
Espera por respostas;
Recebe respostas;
Conecta-se a um pequeno número de servidores de uma só vez;
Normalmente interage diretamente com os usuários finais através de
qualquer interface com o usuário;
Utiliza recursos da rede.
Comunicação Cliente/Servidor
20
O que é um
Servidor
Web
Comunicação Cliente/Servidor
21
Servidor Web
A expressão Servidor Web pode ter dois significados:
Servidor Web
Características de um Servidor Web:
Gerencia sistema virtual de arquivos e diretórios;
Interpreta requisições (HTTP) de clientes;
Envia respostas (HTTP) ao cliente com os dados
solicitados;
Pode se comunicar com outros servidores para
atender uma solicitação específica do cliente.
Comunicação Cliente/Servidor
23
OK Aqui vai:
<html><head>...
Servidor
Comunicação Cliente/Servidor
24
HTTP
Envia uma
requisição OK Aqui vai:
de página ao <html><head>.
servidor! Todo este processo é ..
feito através do protocolo
HTTP
Servidor
Comunicação Cliente/Servidor
25
HTTP
RESPONSE
Servidor
Comunicação Cliente/Servidor
26
Protocolo HTTP
O Hypertext Transfer Protocol (HTTP) é um protocolo de
comunicação utilizado para sistemas de informação de
hipermídia, distribuídos e colaborativos;
Ele é a base para a comunicação de dados da World Wide Web
para a distribuição e recuperação de informação;
Define uma forma de conversação no estilo pedido-resposta
entre um cliente (o browser) e um servidor (o servidor Web);
Toda a conversação se dá no formato ASCII (texto puro)
através de um conjunto de comandos simples que formando
uma mensagem que é trafegada entre o cliente e o servidor.
Comunicação Cliente/Servidor
27
Padrão MVC
Padrão MVC
30
Definição
É um padrão de arquitetura de aplicações que divide
Definição
Interagem com o
Recebe as
Camada modelo em busca da
CONTROLLER Intermediária
requisições do
resposta a ser
usuário
retornada ao usuário
Padrão MVC
32
Definição
request
CONTROLLER
HTTP
Retorna dados
HTML, XML, JSON
response
Interação
VIEW MODEL
Padrão MVC
33
Resumindo....
A Camada Controller
Resumindo....
A Camada Model
Resumindo....
A Camada View
@WebServlet("/MeuServlet")
public class MeuServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public MeuServlet() {
super();
}
}
Criando um Servlet
41
Java Server Page - JSP
42
import
<%@ page import="java.util.List" %>
<%@ page import="java.util.*" %>
<%@ page import="java.util.Vector" %>
✓ Similar ao import de Java.
session
<%@ page session=“true” %> - Default
<%@ page session=“false” %>
contentType
<%@ page contentType=“text/html”%>
✓ Seta o content-type response header indicando o
mime da resposta.
language
<%@ page language=“Java”%> - única
suportada
✓ Indica a linguagem que está sendo usada.
Expressões
49
Sintaxe:
<%= expressão %>
Exemplo
<%= new java.util.Date()%>
Scriplets
50
Sintaxe:
<% scriptlet %>
Scriplets
51
<%
for(int i=0; i<=10; i++){
out.println(i);
}
%>
Comentário
52
Programas:
- JDK (Java)
- Eclipse EE (Enterprise Edition)
-Apache-tomcat
- WampServer ou MySQL Server
Bibliotecas (JAR):
mysql-connector-java-X.X.X-bin (Driver mySQL)
Criando projeto WEB
1- Na opção:
File
- New
- Other
Selecionar a Web e depois:
- Dynamic Web Project
Criando projeto
SistemaAcademico-WEB
3 - Clique em Finish
Criando projeto WEB
Estrutura do projeto:
Na pasta webapp deve conter todas os arquivos
HTML, JSP, Imagens, CSS e JavaScript.
Vamos instalar o
TomCat.
No menu selecionar a
opção:
-Window
-Preference
-Irá aparecer a tela ao
lado.
-Selecionar a opção
server.
-E depois a opção
-Runtime
Environments
Criando projeto WEB
-Clique no botão
Add e indique o
caminho onde a pasta
apache-tomcat-X.X.XX
está copiada e clique
em Finish.
Pronto o Servidor
TomCat está instalado.
Clique em ok.
Criando projeto WEB
br.edu.exemplo.dao
br.edu.exemplo.controller
br.edu.exemplo.util
br.edu.exemplo.model
Solucionando o
problema no servlet.
Clique no projeto
SisAluno com o botão
direito do mouse e
selecione a opção
build path, em seguida
selecione Configure
build path, deverá
aparecer a tela ao lado.
Localize a pasta do
apache-tomcat /lib e
selecione a biblioteca
servlet-api.jar.
Em seguida, clique em
abrir.
Criando projeto WEB
Verifique se o arquivo
.jar foi importado para
o seu projeto.
Problema solucionado.
Criando projeto WEB (tela de menu)
Criando projeto WEB (tela de incluir)
Criando projeto WEB (tela de listar todos
os alunos)
Criando projeto WEB (tela de atualizar)
Criando projeto WEB (tela de atualizar)
Criando projeto WEB (tela de consultar)
Criando projeto WEB (tela de consultar)
Criando projeto WEB (tela de excluir)
Criando projeto WEB (tela de excluir)
Rest x Restfull
Rest
76
Corpo na Corpo na
Verbo HTTP Idempotente Seguro Cacheável
requisição resposta
• 200 – Ok.
• 202 – Ok, aceito para ser processado.
• 203 – Ok, mas a resposta vem de uma cache ou de um
terceiro, e não do servidor de origem.
• 204 – Ok, mas a resposta está vazia.
• 205 – Ok. O conteúdo deve ser atualizado.
• 301 – Redirecionamento de URLs.
• 302 – Redirecionamento temporário.
HTTP – Códigos de Status
92
Controller: aluno
Chama o Controller
Método: lista
request adequado...
FrontController
Controller
(Dispatcher Servlet)
response Envia um objeto
encapsulando
Devolve o Solicita a Devolve Solicita
a lista e o
HTML resolução objeto lista...
nome da view
pronto da view lista...
View
Model
(Template resolver)
Gera a lista de alunos...
Spring
99
Vamos criar
uma aplicação
com Spring
utilizando:
• Spring Boot
• Spring MVC
• Hibernate
Spring
100
Anotações Spring
A base de todo o funcionamento do Spring consiste
Anotações Spring
@RestController
}
Spring
102
Anotações Spring
@RequestMapping
@GetMapping
public String getLista() {
//Códigos do método
}
}
Spring
103
Anotações Spring
O Spring possui também anotações que podem
https://start.spring.io/
Criando 1º programa pelo site
105
Descompactar arquivo
Criando 1º programa
106
Importando Projeto
Criando 1º programa
107
Importando Projeto
Criando 1º programa
108
Importando Projeto
Criando 1º programa
109
Anotações Spring
@Component
É uma anotação básica que indica que uma classe vai ser
gerenciada pelo container do Spring;
Algumas anotações são derivadas desta.
@Component
public class ComputadorUtil {
}
Spring
111
Anotações Spring
@Repository
@Repository
public class ComputadorDao {
}
Spring
112
Anotações Spring
@Service
@Service
public class ComputadorService {
}
Spring
113
Anotações Spring
@Autowired
@Autowired
private ComputadorDao dao;
Anotações Spring
@PathVariable
@Controller
@RequestMapping("/aluno")
public class AlunoController {
@GetMapping("/buscar/{id}")
public String buscar(@PathVariable("id") Long id) {
// códigos....
}
}
Spring
115
Anotações Spring
@RequestParam
@Controller
@RequestMapping("/turma")
public class TurmaController {
@GetMapping("/listagem")
public String getTurmasPorAno(@RequestParam("ano") Integer ano) {
// códigos...
}
}
Referências Bibliográficas
116