criando web service com servlet€¦ · • para esse projeto será utilizado a plataforma mysql de...

36
Criando Web Service com Servlet Professor Vicente Paulo de Camargo

Upload: others

Post on 01-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Criando Web Service com Servlet

Professor Vicente Paulo de Camargo

Page 2: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Criando Web Service com Servlet

• Abra o Eclipse

• Acesse o projeto SistemaEstoque

• Crie o pacote

br.edu.pucgoias.sistemaestoque.servlet

Page 3: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Criando Web Service com Servlet

• Crie a classe EstoqueServlet.java com oseguinte Código:

Page 4: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

• Para facilitar, abra o Eclipse e crie o projeto dynamic web SistemaEstoque

• Para esse projeto será utilizado a plataforma MySQL de banco de dado

• Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

• Crie a classe BaseDao.java e digite o próximo trecho de código para esse classe

Criando Web Service com Servlet

Page 5: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Linha 12: Estabelece a conexão com o driver do banco de dadosLinha 24: Faz a conexão com o banco de dados indicado na url e conforme usuário e senha definidosLinha 34: Tenta efetuar conexão com o banco de dados. Linha 37: Se conectar, apresenta mensagem afirmativa

O método main está sendo usado aqui apenas para que se possa testar a conexão com o banco de dados, usando System.out.print

Criando Web Service com Servlet

Page 6: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

• Com o Eclipse aberto, dê um clique direito sobre o nome do projeto SistemaEstoque, como indicado a seguir

1

2

Selecione Build Path

Criando Web Service com Servlet

Page 7: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

1

Selecione AddExternalJARs...

2

Selecione o driver

desejado

Criando Web Service com Servlet

Page 8: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

O driver será inserido na

aba Librariesdo projeto

Em seguida, confirme em

Apply andClose

O driver do MySQL

inserido na biblioteca do

projeto

Criando Web Service com Servlet

Page 9: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

O driver do banco de dados deve ser

copiado para a pasta WebContent\WEB-

INF\lib

Criando Web Service com Servlet

Page 10: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

• Para administrar o banco de dados e manipular seus dados utilize os programas HeidiSQL e Dbeaver

• Efetue o download desses dois programas

• Para servidor de banco de dados MySQL utilize um dos programas, WampServer ou Xampp

• Assim, instale um desses dois últimos programas para que sejam o servidor do seu banco de dados

• Esses programas são open source

Criando Web Service com Servlet

Page 11: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

• Ative o seu servidor MySQL• Abra o HeidSQL e crie o banco de dados sistema_estoque_web

Botão direito sobre o nome da conexão

Na nova janela informe o nome do banco de dados e selecione a opção latin1_general_ci e confirme

Criando Web Service com Servlet

Page 12: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

• Ou:• Abra o HeidSQL, acesse a aba consulta• Digite create database sistema_estoque_web

Selecione esse ícone para executar ou pressione F9

Criando Web Service com Servlet

Page 13: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

• Com o Eclipse aberto• Acesse o projeto SistemaEstoque• Dê um clique com o botão direito sobre a classe BaseDao.java• Observe os passos a seguir:

1

2

A conexão está ok

3

Criando Web Service com Servlet

Page 14: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Crie a classe bean Estoque.java ( com getters/setters), com os atributos: id (int), descricao(String), quantidade(double) e precounit(double), no pacote modelo (br.edu.pucgoias.sistemaexemplo.modelo)

Criando Web Service com Servlet

Page 15: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Crie a tabela estoque no banco de dados sistema_estoque_web com a estrutura:

Campo Tipo observação

id int Primary key, auto_increment

descricao varchar(50)

precounit double

quantidade double

Criando Web Service com Servlet

Page 16: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Crie a classe de persistência EstoqueDao.java no pacote dao(br.edu.pucgoias.sistemaexemplo.dao)

DAO (Data Access Object, Objeto de Acesso a Dados) é um padrão de nomenclatura para classes que acessam bases de dados. Esse padrão faz parte do núcleo de padrões JEE da Sun/Oracle.

Criando Web Service com Servlet

Page 17: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

EstoqueDao.java (cont.)

Criando Web Service com Servlet

Page 18: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

EstoqueDao.java (cont.)

Criando Web Service com Servlet

Page 19: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

EstoqueDao.java (cont.)

Criando Web Service com Servlet

Page 20: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

EstoqueDao.java (cont.)

Criando Web Service com Servlet

Page 21: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Crie o pacote br.edu.pucgoias.sistemaestoque.controle

Crie a classe EstoqueControle.java

Esta classe efetuará a intermediação entre a camada de visão e a de persistência

Criando Web Service com Servlet

Page 22: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

EstoqueControle.java

Criando Web Service com Servlet

Page 23: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Crie o pacote br.edu.pucgoias.sistemaestoque.servlet

Crie um servlet EstoqueServlet.java

Um Servlet é uma classe que permite receber (request) informações do front-end e enviar (response) informações para o front-end

Criando Web Service com Servlet

Page 24: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Digite o código indicado para o servlet EstoqueServlet.java:

Criando Web Service com Servlet

Efetue o download de gson-2.3.1.jar. Basta pesquisar na Internet. Insira esse arquivo no Build Path e também na pasta WebContent/WEB-INF/lib

Page 25: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

servlet EstoqueServlet.java (cont.)

Criando Web Service com Servlet

Page 26: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Crie o servlet RetornaUmItem.java no pacote br.edu.pucgoias.sistemaestoque.servlet com o seguinte código:

Criando Web Service com Servlet

Page 27: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Executando a aplicação:Crie a página index.jsp.Para isso, basta selecionar a pasta WebContent com o botão direitoSelecionar new / JSP FileInforme o nome do arquivo (index.jsp)Será criado o arquivoAltere o seu conteúdo para o indicado a seguir:

Execute a aplicação com botão direito sobre o nome do projeto Selecione Run As / Run On Server

Criando Web Service com Servlet

Page 28: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Executando a aplicaçãoSerá apresentada a seguinte tela, simulando o navegador:

A página index.jsp foi ativada automaticamente, pois o index.jspestá configurado no arquivo web.xml

Criando Web Service com Servlet

Page 29: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Como é uma API (Web Service) e não tem nenhum recurso de front-end, iremos utilizar um programa para verificar alguns dos seus recursos

O programa que será utilizado é o Postman

Ele permite enviar e receber dados de uma API ou Web Service através dos diversos comandos (GET, POST, PUT, DELETE...)

Efetue o download desse programa pelo linkhttps://www.getpostman.com/downloads/

Em seguida, instale-o.

Criando Web Service com Servlet

Page 30: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Postman

Criando Web Service com Servlet

Seleção de comandosParâmetrosResposta

Page 31: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Postman

Criando Web Service com Servlet

Inserir url (endpoints)Abas de urlsEnvio

Page 32: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Postman

Criando Web Service com Servlet

Page 33: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

Postman

Criando Web Service com Servlet

Page 34: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

PostmanAo selecionar a url (ou o endpoint) /estoques, que é indicado noem EstoqueServlet.java. No Postman, fica da seguinte forma:

Criando Web Service com Servlet

url ou endpoint

Resposta

Page 35: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

PostmanAo selecionar a url (ou o endpoint) /http://localhost:8099/SistemaEstoque/retornaumitem?codigo=1, que é indicado em RetornaUmItem.java. No Postman, fica da seguinte forma:

Criando Web Service com Servlet

url ou endpoint

Resposta: retorna o objeto correspondenteao estoque de código igual a 1

Page 36: Criando Web Service com Servlet€¦ · • Para esse projeto será utilizado a plataforma MySQL de banco de dado • Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

FIM

Eclipse – Tomcat – Exemplo com Servlet