Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados Professora: Kelly de Paula Cunha
-JavaServer Pages (JSP) Java na WEB Camadas de uma aplicação Java EE Paginas WEB -Servlets -JavaServer Pages (JSP) -Beans Banco de Dados Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas Servidor de Banco de Dados Máquina do Cliente Servidor web
Servlet e JavaServer Pages (JSP) 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. Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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. Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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. Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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. Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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 Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
-JavaServer Pages (JSP) Java na WEB Paginas WEB -Servlets -JavaServer Pages (JSP) -Beans Banco de Dados Servidor de Banco de Dados Máquina do Cliente Servidor web
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; Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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. Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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. Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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 Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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; Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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; Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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”); Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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. Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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 Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
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"); Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
-JavaServer Pages (JSP) Java na WEB Paginas WEB -Servlets -JavaServer Pages (JSP) -Beans Banco de Dados Servidor de Banco de Dados Máquina do Cliente Servidor web
Aplicação Java Web e o banco de dados Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("SELECT *FROM registros"); Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
-JavaServer Pages (JSP) Java na WEB: Servlet Paginas WEB -Servlets -JavaServer Pages (JSP) -Beans Banco de Dados Servidor de Banco de Dados Máquina do Cliente Servidor web
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(); Uma aplicação desenvolvida na plataforma Java EE consiste geralmente de três camadas
Atividade 4 Reinserir ConectorJ na biblioteca do projeto que foi criado na aula passada Copiar código da classe CadAgenda Criar novo banco de dados na aba Serviços ->Banco de Dados do Netbeans Dar o nome de Agenda1 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) ) ;