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
Banco de
Dados
Máquina do Cliente
Servidor web
Servidor de Banco de Dados
Java na WEB: Servlet
Servlet 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.
Java na WEB: Servlet
Componentes 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.
Java na WEB: Servlet
Componentes 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.
Java na WEB: Servlet
JSP (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.
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
Java na WEB
Paginas WEB
-Servlets
-JavaServer Pages (JSP)
-Beans
Banco de
Dados
Máquina do Cliente
Servidor web
Servidor de Banco de Dados
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;
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.
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.
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
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;
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;
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”);
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.
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
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");
Java na WEB
Paginas WEB
-Servlets
-JavaServer Pages (JSP)
-Beans
Banco de
Dados
Máquina do Cliente
Servidor web
Servidor de Banco de Dados
Aplicação Java Web e o banco de
dados
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT *FROM registros");
Java na WEB: Servlet
Paginas WEB
-Servlets
-JavaServer Pages (JSP)
-Beans
Banco de
Dados
Máquina do Cliente
Servidor web
Servidor de Banco de Dados
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();
Atividade 4
1) Reinserir ConectorJ na biblioteca do projeto
que foi criado na aula passada
2) Copiar código da classe CadAgenda
3) Criar novo banco de dados na aba Serviços >Banco de Dados do Netbeans
4) Dar o nome de Agenda1
5) Criar uma nova tabela conforme código a
seguir:
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)
);
Download

Aula3 Desenvolvimento Web