Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

24
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha

Transcript of Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Page 1: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Desenvolvimento WEB IIAula 3 – Conexão com o Banco de Dados

Professora: Kelly de Paula Cunha

Page 2: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Java na WEB

Camadas de uma aplicação Java EE

Paginas WEB-Servlets

-JavaServer Pages (JSP)-Beans

Máquina do Cliente Servidor web

Banco de Dados

Servidor de Banco de Dados

Page 3: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Java na WEB: ServletServlet e JavaServer Pages (JSP)

Tecnologias desenvolvidas pela Sun para o desenvolvimento de aplicações Web a partir de componentes que executem ao lado

do servidor.

Page 4: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Java na WEB: ServletComponentes que executam no servidor web:

Beans: administram o fluxo de dados

Servlets: classes Java que processam dinamicamente requisições do cliente, constroem respostas e devolvem ao cliente.

JSP: similar aos servlets, mas permitem inserção de elementos de outras linguagens, como XHTML, HTML, JavaScript etc.

Page 5: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Java na WEB: ServletComponentes que executam no servidor web:

Beans: administram o fluxo de dados

Servlets: classes Java que processam dinamicamente requisições do cliente, constroem respostas e devolvem ao cliente.

JSP: similar aos servlets, mas permitem inserção de elementos de outras linguagens, como XHTML, HTML, JavaScript etc.

Page 6: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Java na WEB: ServletJSP (JavaServerPages): é uma tecnologia que ajuda os desenvolvedores de software a criarem páginas web geradas dinamicamente baseadas em HTML, XML ou outros tipos de documentos.

A primeira vez que uma página JSP é carregada pelo container JSP o código Java é compilado gerando um Servlet que é executado. As chamadas subsequentes são enviadas diretamente ao Servlet, não havendo mais recompilação do código Java.

Page 7: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Java na WEB

Vantagens com relação a utilização direta do Servlet:

• não ter que se criar todos os conteúdos dinâmicos dentro de classes, misturando fortemente HTML com código Java

• tecnologia na qual é possível utilizar o HTML de forma direta

Page 8: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Paginas WEB-Servlets

-JavaServer Pages (JSP)-Beans

Máquina do Cliente Servidor web

Banco de Dados

Servidor de Banco de Dados

Java na WEB

Page 9: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

Vantagens do MySQL:

- Um dos bancos de dados mais usados no mundo;

- Velocidade;

- Capacidade de ser multiplataforma;

Page 10: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

JDBC:- API incluída dentro de uma linguagem Java para o acesso ao

banco de dados

- Conj. de classes e interfaces escritas em Java

- Pode trabalhar com banco de dados: Oracle, Sybase, SQLServer, MySQL, Firebird, PostgreSQL, e etc.

Page 11: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

JDBC:- O driver JDBC escolhido para fazer os exemplos foi o

Connector/J

- Download no site http://www.mysql.com/downloads.

Page 12: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

Fazendo a conexão (Melhor forma):

Item: Bibliotecas -> clique com o botão direito do mouse -> Adicionar biblioteca -> Criar -> Nome: MySQL -> clique em OK.

Na caixa de dialogo Personalizar Biblioteca -> Adicionar JAR/Pasta

Selecione o arquivo: mysql-connector-java-5.0.0.beta.bin.jar

Em Bibliotecas selecionar MySQL

Page 13: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

Ao adicionar o pacote java.sql você tem acesso às classes e interfaces para manipular os bancos de dados relacionais em Java

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;

Page 14: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

O método forName da classe Class (pacote java.lang) é usado para carregar a definição de classe para o driver de banco de dados.

Class.forName("com.mysql.jdbc.Driver");

Se a classe não for encontrada, ele dispara uma exceção:java.lang.ClassNotFoundException;

Page 15: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

Um objeto Connection gerencia a conexão entre o programa Java e o banco de dados. Ele também fornece suporte ao programa para a execução de instruções SQL.

private Connection con;con=DriverManager.getConnection(“URL do banco de dados”, “root”, “senha do banco de dados”);

Page 16: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

A classe HttpServlet define os métodos doGet e doPost para responder as solicitações get e post vindas de um cliente

- Método doGet: pode obter informações, onde pode ser requisitado uma imagem ou arquivo, ou enviar dados;

- Método doPost: não requisita informações, e sim as envia (posta) dados para o servidor.

Ex.: enviar ao servidor informações de um formulário HTML em que o cliente insere dados.

Page 17: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

Os dois métodos recebem como argumento os objetos:

- HttpServletRequest (requisição do cliente)

- HttpServletResponse (resposta ao cliente)

permitem a interação cliente servidor

Page 18: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

O método getParameter(String n) retorna o valor associado com um parametro enviado para o Servlet, no caso foram os campos enviados da página index.jsp

nome=request.getParameter("nome"); endereco=request.getParameter("endereco"); bairro=request.getParameter("bairro");

Page 19: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Paginas WEB-Servlets

-JavaServer Pages (JSP)-Beans

Máquina do Cliente Servidor web

Banco de Dados

Servidor de Banco de Dados

Java na WEB

Page 20: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("SELECT *FROM registros");

Page 21: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Paginas WEB-Servlets

-JavaServer Pages (JSP)-Beans

Máquina do Cliente Servidor web

Banco de Dados

Servidor de Banco de Dados

Java na WEB: Servlet

Page 22: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Aplicação Java Web e o banco de dados

Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("SELECT *FROM registros"); while (rs.next()){ out.println("<tr><td>"+ rs.getString("nome")+"</td>"+ "<td>"+rs.getString("endereco")+"</td>"+"</tr>");}rs.close();stmt.close();

Page 23: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Atividade 4

1) Reinserir ConectorJ na biblioteca do projeto que foi criado na aula passada

2) Copiar código da classe CadAgenda3) Criar novo banco de dados na aba Serviços -

>Banco de Dados do Netbeans4) Dar o nome de Agenda15) Criar uma nova tabela conforme código a

seguir:

Page 24: Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha.

Atividade 4

CREATE TABLE registros ( registro MEDIUMINT NOT NULL AUTO_INCREMENT, nome CHAR(30) NOT NULL, endereco CHAR(30), bairro CHAR(30), PRIMARY KEY (registro)) ;