1. 2 Modelo Cliente-Servidor O modelo cliente-servidor é um tipo de sistema distribuído. Neste...

Preview:

Citation preview

1

2

Modelo Cliente-ServidorModelo Cliente-Servidor

O modelo cliente-servidor é um tipo de sistema distribuído. Neste modelo, as tarefas que o software deve realizar são divididas em dois grupos. Esta divisão implica na criação de dois sistemas. O sistema servidor e o sistema cliente.A característica principal do modelo sliente-servidor é que a comunicação, via algum protocolo, entre os sistemas por iniciativa do cliente. O objetivo do sistema servidor é atender as requisições no sistema cliente.

3

NetBeansNetBeans

NetBeans IDE é um conjunto de bibliotecas, módulos e APIs. formando um ambiente integrado de desenvolvimento visual possibilitando ao desenvolvedor complilar, debugar, efetuar deploying de suas aplicações .

É um produto open source, 100% Java e possui vários módulos de expansão (modules), que podem ser baixados do próprio site

http://www.netbeans.org

4

NetBeansNetBeans• Interface com o usuário – Os menus, barras de

ferramentas e outros componentes UI-interfaces de apresentação são fornecidos por esta plataforma.

• Editor - Rico em recursos para aplicações visuais Swing ou AWT, para aplicações WEB (Servlets e JSP, JSTL, EJBs) , XML com suporte a DTDs e XML Schemas e etc.

• Gerenciamento – As views gerenciam a estrutura do seu projeto localmente ou remotamente, podendo também utilizar Projects. CVS, FTP ou base de dados remota.

• Cross-Plataform – Totalmente escrito em 100% Java, portanto multi-plataforma .

• Wizards - ferramentas de gerenciamento de código, criação de templates, etc.

5

NetBeansNetBeans

SamplesExemplos

TutorialsTutorial

WorkbenchÁrea de trabalho

6

Área de trabalhoÁrea de trabalho

Projeto

Área de Desenvolvimento

Navegador

Saida

7

Criando ProjetoCriando Projeto

Aplicação Web Site

8

Criando ProjetoCriando Projeto

9

Line NumberLine Number

10

FerramentasFerramentas

11

Alterar o NavegadorAlterar o Navegador

12

Configuração: Fonte etcConfiguração: Fonte etc

13

Java 2 Platform Enterprise EditionJava 2 Platform Enterprise Edition

14

Java 2 Platform Enterprise EditionJava 2 Platform Enterprise Edition

15

Arquitetura

Java 2 Platform Enterprise EditionJava 2 Platform Enterprise Edition

16

J2EE: Programação Java para WebJ2EE: Programação Java para Web

A tecnologia Java nos permite escrever aplicações robustas e seguras para rodar no ambiente internet. Isto é possível através da tecnologia de Java Servlets e JavaServer Pages (JSP).

Servlets são classes Java que atendem às requisições HTTP.

JSP são documentos HTML com código Java embutido. Eles são usados, principalmente, como interface visual com o cliente web.A arquitetura das aplicações web seguem, geralmente, o modelo de 3 camadas, como abaixo:

17

Java Server Pages (JSP)Java Server Pages (JSP)

JavaServer Pages é uma tecnologia para geração dinâmica de conteúdo HTML. Principal tecnologia Java para a camada de interface Web.

Um JSP é um arquivo texto contento conteúdo HTML e código Java. O conteúdo dinâmico é gerado a partir da execução do código Java.

Quando o usuário solicita a execução de um JSP ao servidor web, este repassa a solicitação ao Container Web, o qual irá executar o JSP e retornar para o servidor web o conteúdo HTML resultante da execução do JSP.

18

Java Server Pages (JSP)Java Server Pages (JSP)

Os elementos do JSP são definidos através de tags. "<%" e "%>"

O arquivo JSP é lido pelo Container Web e convertido em código fonte Servlet, para em seguida ser compilado e executado. A conversão em código fonte Servlet e a compilação são realizadas apenas na primeira solicitação para o JSP ou quando o JSP é alterado.

19

Criando um Projeto Web Criando um Projeto Web ApplicationApplication

20

Application: index.jspApplication: index.jsp

21

O TomcatO Tomcat

O Tomcat tem suas origens no início da tecnologia Servlet. A Sun Microsystems criou o primeiro contêiner servlet, o Java Web Server, para demonstrar a tecnologia. Ao mesmo tempo, o Apache Software Foundation (ASF) criou JServ, um servlet engine que integrava com o servidor Web Apache. EM 1999, a Sum Microsystems doou o código do java Web Server para o ASF, e os dois projetos se fundiram para criar o Tomcat. A versão 3.x. Em 2001, o ASF liberou a versão 4.0 do Tomcat.

22

Páginas Dinâmicas JSPPáginas Dinâmicas JSP

JavaServer Pages (JSP) são páginas Java embebidas em HTML. A página dinâmica é gerada pelo código JSP. A primeira vez que uma página JSP é carregada pelo container JSP, o código Java é compilado gerando um Servlet que é excutado.

O netBeans, por padrão, ao criar um projeto Web, cria uma página JSP chamada de index.jsp.

Escrever código Java em sua página JSP é bem simples, basta adicionar as tags <% %>. A isto chamamos de scriptlet.

23

Java Server Pages (JSP)Java Server Pages (JSP)

3. ScripletsOs Scriplets possuem objetos Java implícitos.

Objeto Descriçãorequest Objeto request HTTP

response Objeto response HTTP

session Sessão HTTP

out Stream para o resultado do JSP

exception Exceção na página de erro.

24

Java ServerJava Server Pages (JSP)Pages (JSP)

3. ScripletsOs principais métodos dos objetos implícitos são.

Objeto/Método

request.getParameter(nome)

response.sendRedirect(url)

session.setAttribute(nome, Objeto)

session.getAttribute(nome)

25

Objetos ImplícitosObjetos Implícitos

Com a intenção de dar produtividade no desenvolvimento de aplicações Web usando linguagem Java, foi criado um conjunto de objetos que pode ser usado dentro de uma página JSP sem precisar de declaração.

REQUEST: O objeto request provê acesso a todas as informações disponíveis requisitadas pelo usuário.

OUT: O objeto out (do tipo JspWriter) é usada para imprimir caracteres, através do método write(), print() ou println().

26

Estrutura de JavaServer Estrutura de JavaServer PagesPages

Tags de abertura e fechamento código jsp<% %>

Comentários:<%-- --%>/* */

Declaração de atributo ou métodos: <%! %>

Expressão de um resultado: <%= %>

Tags Personalizadas: <%@taglib %>

27

Estrutura de JavaServer Estrutura de JavaServer Pages(JSP)Pages(JSP)

28

Estrutura de JavaServer Estrutura de JavaServer Pages(JSP)Pages(JSP)

29

Página: index.jspPágina: index.jsp

30

Página: pagina2.jspPágina: pagina2.jsp

31

Página: index.jspPágina: index.jsp

32

Página: arquivo.jspPágina: arquivo.jsp

33

Página: arquivo.jspPágina: arquivo.jsp

34

Página: arquivo.jspPágina: arquivo.jsp

35

Página: arranjo.jspPágina: arranjo.jsp

36

Página: arranjo.jspPágina: arranjo.jsp

37

API ServletAPI Servlet

A API Servlet é composta por um conjunto de interfaces e Classes. O componente mais básico da API é interface Servlet. Ela define o comportamento básico de um Servlet.

public interface Servlet{ public void init (ServletConfig config) throws Servlet Exception; public ServletConfig getServletConfig(); public void service(ServletRequest req, ServletResponse res) throws ServletEsception, IOException; public String getServletInfo(); public void destroy();}

38

API ServletAPI Servlet

39

API ServletAPI Servlet

40

API ServletAPI Servlet

41

API ServletAPI Servlet

42

API ServletAPI Servlet

43

API ServletAPI Servlet

44

API ServletAPI Servlet

45

API ServletAPI Servlet

46

API ServletAPI Servlet

A classe HttpServlet foi projetada para lidar com o protocolo HTTP.

public abstract class HttlServlet extends GenericServlet implements java.io.Serializable

47

API ServletAPI Servlet

• O método doGet() trata as requisições GET. Este tipo de requisição pode ser enviadas várias vezes.

• O método doPost() trata as requisições POST que permitem que o cliente envie dados de tamanho ilimitado para o servidor Web uma única vez.

• O método doPut() trata as requisições PUT. Este tipo de requisição permite que o cliente envie um arquivo para o servidor à semelhança de como é feito via FTP.

• O método doDelete() trata as requisições DELETE, permitindo que o cliente remova um documento ou uma página do servidor.

Todos esses métodos são invocados pelo servidor por meio do método service().

48

API ServletAPI Servlet

49

API ServletAPI Servlet

50

API ServletAPI Servlet

51

API ServletAPI Servlet

52

API ServletAPI Servlet

53

No arquivo index.jsp, você irá adicionar um formulário HTML. Para fazer isso, você possui duas formas: digitando ou utilizando a janela Palette como auxiliar.

index.jsp & Servletindex.jsp & Servlet

54

Application: Servlet.javaApplication: Servlet.java

55

Application: Servlet.javaApplication: Servlet.javaO Servlet possui a extensão .java. Portanto, Servlets são classes Java, desenvolvidas de acordo com uma estrutura bem definida.Servlet Container (Servidor de Aplicações Java)doGet() e doPost(). Ambos chamam processRequest().Estes métodos possuem a habilidade de resgatar informações enviadas pelo usuário tanto pelo método GET.O Servlet estende a classe javax.servlet.http.HttpServlet, uma classe abstrata que estende a javax.servlet e javax.servlet.html, que pertencem a API Servlet do Java EE.A saída de informações, para serem impressas no HTML de retorno ao usuário, é feito pelo método println, de java.io.PrintWriter.

56

JDBCJDBC

JDBC é a definição de uma API para acesso a banco de dados através da linguagem Java. A implementação dessa API é denominada de Driver JDBC. O Driver JDBC será o responsável pela efetiva comunicação com o SGBD. Desta forma um programa Java será independente do SGBD, bastando apenas utilizar o Driver JDBC adequado ao SGBD a ser acessado. O programa é implementado utilizando a API JDBC e no momento da sua execução as classes do Driver JDBC são utilizadas.

57

JDBCJDBC

A API foi definida no pacote java.sqlAs principais classes da API JDBC são:

•DriverManager;•Connection;•Statement;•PreparedStatement;•CallableStatement;•ResultSet;•ResultSetMetaData;•DatabaseMetaData;•SQLException.

58

JDBC

Utilizando a API JDBC

A utilização da API requer as seguintes operações:

1. Carga do Driver JDBC (Class.forName());

2. Solicitação da conexão com o Banco de Dados (DriverManager e Connection);

3. Obtenção de objetos, a partir da conexão, para executar comandos SQL (Statement, PreparedStatement e CallableStatement);

4. Navegação no resultado dos comando SQL (ResultSet)

5. Tratamento das exceções que ocorrerem (SQLException). O objeto SQLException possui o método getErroCode(), o qual retorna o código de erro específico do SGBD.

59

Criando um Projeto Web Criando um Projeto Web Application: DBApplication: DB

60

Definindo Driver JDBCDefinindo Driver JDBC

61

index.jspindex.jsp<%@ page contentType="text/html" language="java" import="java.sql.*"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html> <head> <title>Teste de Conexão</title> </head> <body> <% Connection con; Statement stm; try { Class.forName("org.gjt.mm.mysql.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbjava","root",""); stm = con.createStatement(); out.println("Conexão efetuada com sucesso "); } catch (Exception e) { out.println(“ERRO banco " + e.getMessage()); } %> </body> </html>

62

index.jspindex.jsp

<%@ page contentType="text/html" language="java" import="java.sql.*"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html> <head> <title>JSP Page</title> </head> <body><% Connection conn = null; Statement st = null; ResultSet rs = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbjava","root","");

out.println("OK:: Conexao com sucesso!"); st = conn.createStatement(); rs = st.executeQuery("select * from tbagenda");

63

index.jspindex.jsp

while (rs.next() ){ out.println(rs.getString("nome")); out.println(rs.getString("cidade")+"<br>"); } }catch (Exception ex){ ex.printStackTrace(); }finally { rs.close(); st.close(); conn.close(); } %> </body> </html>

Recommended