Módulo 18_OP5

47
27/04/2015 1 2014/2015 2014/2015 3º TSI 3º TSI Jorge Pina Jorge Pina Ferramentas de desenvolvimento de páginas web (Java Server Pages - JSP) Programação e Sistemas de Informação Módulo18 AERBP AERBP 2 Jorge Pina Jorge Pina Opções de distribuição (1) Como visto em módulos anteriores, à linguagem Java estão inerentes 3 meios de distribuição: Local A aplicação é executada no computador local do utilizador final como um programa autónomo (jar); Combinação Local e Remota Uma parte da aplicação é executada no computador local do utilizador final (cliente) estando ligada a um computador remoto (servidor Web) no qual são executadas as outras partes (Applets); Remota Toda a aplicação é executada num servidor Web ao qual o cliente acede através de um meio não relacionado com Java, habitualmente um browser (Servlet).

description

Servlets

Transcript of Módulo 18_OP5

  • 27/04/2015

    1

    2014/20152014/2015

    3 TSI3 TSI

    Jorge PinaJorge Pina

    Ferramentas de desenvolvimento de pginas web(Java Server Pages - JSP)

    Programao e Sistemas de Informao

    Mdulo18

    AERBPAERBP

    2

    Jorge PinaJorge Pina

    Opes de distribuio (1)

    Como visto em mdulos anteriores, linguagem

    Java esto inerentes 3 meios de distribuio:

    Local

    A aplicao executada no computador local do

    utilizador final como um programa autnomo (jar);

    Combinao Local e Remota

    Uma parte da aplicao executada no computador

    local do utilizador final (cliente) estando ligada a um

    computador remoto (servidor Web) no qual so

    executadas as outras partes (Applets);

    Remota

    Toda a aplicao executada num servidor Web ao

    qual o cliente acede atravs de um meio no

    relacionado com Java, habitualmente um browser

    (Servlet).

  • 27/04/2015

    2

    AERBPAERBP

    3

    Jorge PinaJorge Pina

    Opes de distribuio (2)

    O esquema seguinte exibe as solues Java para

    cada uma das trs opes de distribuio

    anteriores:

    AERBPAERBP

    4

    Jorge PinaJorge Pina

    Distribuio Remota - Vantagens (1)

    Ambiente de Tecnologia Neutra

    A comunicao em qualquer aplicao na WEB

    feita atravs de protocolos populares

    (HTTP/FTP) que so completamente Multiplataforma

    (no requerem sistema operativo especifico);

    Tudo que os clientes necessitam de um

    qualquer sistema operativo e de um navegador

    WEB (Browser), para poderem ter acesso

    aplicao.

  • 27/04/2015

    3

    AERBPAERBP

    5

    Jorge PinaJorge Pina

    Distribuio Remota Vantagens (2)

    Facilidade de distribuio e atualizao

    Apenas ser necessrio, o computador cliente, ter

    um qualquer navegador WEB (Browser) instalado

    para poder ter acesso aplicao;

    A aplicao residir num nico servidor, sendo

    atualizada sempre que necessrio e repercutindo

    essas mesmas atualizaes, automaticamente, a

    todos os utilizadores.

    AERBPAERBP

    6

    Jorge PinaJorge Pina

    Servlets (1)

    Aplicaes Java, executadas num servidor

    Web, que respondem a requisies http.

    So acedidas pelo cliente atravs de um

    browser.

    Ao contrrio da distribuio JWS, o

    processamento das tarefas, solicitadas pelo

    cliente, integralmente executado no servidor.

    Guardar dados num ficheiro ou numa base de

    dados so tarefas habitualmente

    implementadas por Servlets.

  • 27/04/2015

    4

    AERBPAERBP

    7

    Jorge PinaJorge Pina

    Servlets (2)

    Exemplo de funcionamento

    1. O cliente preenche um formulrio atravs de um

    browser e clica em Enviar.

    2. O servidor Web recebe a solicitao e envia-a

    para um Servlet.

    AERBPAERBP

    8

    Jorge PinaJorge Pina

    Servlets (3)

    Exemplo de funcionamento (cont.)

    3. O Servlet executado tratando os dados e

    compondo uma pgina Web que retorna para o

    cliente.

    4. O cliente exibe no browser a pgina Web que

    recebe.

  • 27/04/2015

    5

    AERBPAERBP

    9

    Jorge PinaJorge Pina

    Servlets vs JSP Java Server Pages (1)

    Servlets

    classe Java que contm HTML nas instrues de

    sada (quando retornada uma pgina HTML para

    o cliente).

    JSP

    pgina HTML que contm cdigo Java.

    AERBPAERBP

    10

    Jorge PinaJorge Pina

    Servlets vs JSP Java Server Pages (2)

    Todas as JSP so transformadas em servlets

    durante a execuo das aplicaes.

  • 27/04/2015

    6

    AERBPAERBP

    11

    Jorge PinaJorge Pina

    Servlets vs JSP Java Server Pages (3)

    Ambos os tipos de aplicao so

    considerados extenses padro Java e, como

    tal, as suas funcionalidades no esto

    includas no JDK (Java Development Kit).

    Poder obt-las fazendo o download do SDK

    (Software Development Kit).

    AERBPAERBP

    12

    Jorge PinaJorge Pina

    Servlets vs JSP Java Server Pages (4)

    O IDE NetBeans, pacote Java EE e pacote All, inclu

    todas as funcionalidades para conseguir desenvolver

    aplicaes com servlets e JSP.

    https://netbeans.org/downloads/

  • 27/04/2015

    7

    AERBPAERBP

    13

    Jorge PinaJorge Pina

    Servlets vs JSP Java Server Pages(5)

    A utilizao de servlets e JSP exige ainda a

    utilizao de um servidor Web (HTTP) um

    ServletEngine (container servlet ou container

    JSP) que consiste no software responsvel por

    executar as mesmas.

    Este software corresponde a um processo em

    Java, separado do servidor HTTP, que corre

    uma JVM e recebe todas as solicitaes para

    execuo de um servlet/JSP.

    AERBPAERBP

    14

    Jorge PinaJorge Pina

    Servlets vs JSP Java Server Pages (6)

    Os servidores deste tipo mais utilizados so o

    Tomcat e o GlassFish.

    O IDE NetBeans, pacote Java EE e pacote

    All, tambm inclu estes servidores que sero

    instalados aquando da criao da primeira

    servlet ou JSP.

  • 27/04/2015

    8

    AERBPAERBP

    15

    Jorge PinaJorge Pina

    JSP Java Server Pages (1)

    Sintaxe (1)

    Comentrios tudo o que estiver dentro destes

    elementos ser ignorado no processamento das

    pginas JSP.

    (comentrio JSP)

    (comentrio HTML)

    Declaraes permitem declarar variveis ou

    mtodos que sero mais tarde utilizados nas JSP.

    AERBPAERBP

    16

    Jorge PinaJorge Pina

    JSP Java Server Pages (2)

    Sintaxe (2)

    Expresses possibilitam a insero de uma

    instruo Java, cujo resultado convertido para o

    tipo de dados String, e impresso de acordo com a

    sua localizao na pgina JSP.

    Data atual:

    Notas sobre expresses

    As expresses nunca terminamcom ; (ponto e vrgula)

    As expresses podero estar ou no dentro de tags

    HTML

    Scriplets possibilitam a insero de cdigo Java

    que executado sempre que a pgina JSP

    invocada (pedao de cdigo Java embutido numa pgina

    JSP e inserido entre as tags ) .

  • 27/04/2015

    9

    AERBPAERBP

    17

    Jorge PinaJorge Pina

    JSP Java Server Pages (3)

    Sintaxe (3)

    Diretivas fornecem indicaes ao servidor de

    forma a que este saiba como processar certas

    instrues das JSP.

    - instrues relacionadas com a pgina a

    ser processada como, por exemplo, o esquema de

    codificao de carateres ou classes Java utilizadas.

    - permite juntar o contedo de um

    ficheiro externo ao contedo da pgina atual, atravs da

    indicao da localizao do mesmo. Este processo ocorre

    durante a fase de transio, ou seja, quando a JSP

    transformada em servlet.

    - possibilita a utilizao de um conjunto

    de tags personalizadas atravs da indicao da localizao

    da biblioteca onde estas foram definidas.

    AERBPAERBP

    18

    Jorge PinaJorge Pina

    JSP Java Server Pages (4)

    Sintaxe (4) Diretiva Crie no IDE NetBeans um novo projeto, escolha Java Web

    Web Application e atribua-lhe o nome JSP_Exemplo1.

    Diretivas

    Declaraes

    Expresso

  • 27/04/2015

    10

    AERBPAERBP

    19

    Jorge PinaJorge Pina

    JSP Java Server Pages (5)

    Sintaxe (5) Diretiva Crie um novo projeto, escolha Java Web Web

    Application e atribua-lhe o nome JSP_Exemplo2.

    Scriptlet

    Declaraes

    Expresso

    AERBPAERBP

    20

    Jorge PinaJorge Pina

    JSP Java Server Pages (6)

    Sintaxe (6)

    Diretiva (continuao)

    Crie um novo ficheiro, escolha JSP e atribua-lhe o

    nome rodape.

  • 27/04/2015

    11

    AERBPAERBP

    21

    Jorge PinaJorge Pina

    JSP Java Server Pages (7)

    Sintaxe (7)

    Diretiva (continuao)

    Crie um novo ficheiro, escolha JSP e atribua-lhe o

    nome index.

    Diretiva

    Diretiva

    AERBPAERBP

    22

    Jorge PinaJorge Pina

    JSP Java Server Pages (7)

    Sintaxe (7)

    Diretiva

    Esta diretiva ser abordada mais frente aquando

    da abordagem das JSTL .

  • 27/04/2015

    12

    AERBPAERBP

    23

    Jorge PinaJorge Pina

    JSP Java Server Pages (8)

    Sintaxe (8)

    Aes estruturas que utilizam a sintaxe XML e que

    tm como objetivo controlar o comportamento do

    ServletEngine.

    Exemplos de aes:

    Inserir um ficheiro dinamicamente numa pgina;

    Redirecionar o utilizador para outra pgina;

    Reutilizar componentes JavaBeans

    No endereo http://www.tutorialspoint.com/jsp/

    jsp_actions.htm poder ser consultada uma lista

    completa das aes JSP.

    AERBPAERBP

    24

    Jorge PinaJorge Pina

    JSP Java Server Pages (9)

    Sintaxe (9)

    Ao

    A ao include diferente da diretiva include;

    Na diretiva include a incluso do ficheiro ocorre

    durante a fase de transio, ou seja, quando a JSP

    transformada em servlet.

    Na ao include a

    incluso do fichei-

    ro ocorre na fase

    em que o pedido

    da pgina pro-

    cessado.

  • 27/04/2015

    13

    AERBPAERBP

    25

    Jorge PinaJorge Pina

    JSP Java Server Pages (10)

    Sintaxe (10)

    Ao (continuao)

    AERBPAERBP

    26

    Jorge PinaJorge Pina

    JSP Java Server Pages (11)

    Sintaxe (11)

    Ao - Encaminha a solicitaopara uma nova pgina.

  • 27/04/2015

    14

    AERBPAERBP

    27

    Jorge PinaJorge Pina

    JSP Java Server Pages (12)

    Sintaxe (12)

    Aes:

    - localiza ou instancia uma JavaBeans;

    - Define as propriedades de uma

    JavaBeans;

    - insere as propriedades de uma

    JavaBeans na saida (output);

    Uma JavaBean uma classe codificada de

    acordo com as especificaes da API JavaBeans:

    Implementa a interface Serializable;

    Inclui um construtor sem parmetros;

    Define um ou vrios atributos;

    Define getters e/ou setters para cada um dos atributos.

    AERBPAERBP

    28

    Jorge PinaJorge Pina

    JSP Java Server Pages (13)

    Sintaxe (13)

    Aes , e

    (continuao)

  • 27/04/2015

    15

    AERBPAERBP

    29

    Jorge PinaJorge Pina

    JSP Java Server Pages (14)

    Sintaxe (14)

    Aes , e

    (continuao)

    Tem que ser igual ao nome do

    atributo da classe ClasseNome

    AERBPAERBP

    30

    Jorge PinaJorge Pina

    JSP Java Server Pages (15)

    Sintaxe (15)

    Aes , e

    (continuao)

    Tem que ser igual ao nome do atributo da classe

    ClasseNome e da caixa de texto do ficheiro index.jsp.

    Se existir mais do que uma caixa de texto este

    atributo poder ser definido com * (asterisco).

  • 27/04/2015

    16

    AERBPAERBP

    31

    Jorge PinaJorge Pina

    JSP Java Server Pages (16)

    Sintaxe (16)

    Objetos implcitos objetos Java que o

    ServeltEngine disponibiliza para cada pgina e que

    podem ser invocados sem antes serem declarados

    e inicializados ou instanciados.

    So tambm designados como variveis predefinidas.

    Como bvio, atravs destes objetos possvel

    invocar todos os mtodos das respetivas interfaces ou

    classes.

    AERBPAERBP

    32

    Jorge PinaJorge Pina

    JSP Java Server Pages (17)

    Sintaxe (17)

    Objetos implcitos (continuao)

    Nome do objeto Interfaces / Classes Pacote

    request HttpServletRequest javax.servlet.http

    response HttpServletResponse javax.servlet.http

    out JspWriter javax.servlet.jsp

    session HttpSession javax.servlet.http

    application ServletContext javax.servlet

    config ServletConfig javax.servlet

    pageContext PageContext javax.servlet.jsp

    page Sinnimo de this javax.servlet.jsp.HttpJspPage

    exception Exception java.io

    As especificaes destas interfaces e classes podero ser consultadas em http://docs.oracle.com/javaee/7/api/

    informao do pedido HTTP

    informao da resposta HTTP

    contm o contexto da pgina

    Fluxo de sada para o conteudo

    da pgina

    Dados de sesso do utilizador

    Dados partilhados nas paginas

    Dados de comfigurao servlet

    Instancia da classe Servlet na

    qual a JSP se transformou

    Instancia da classe

    java.Lang.Throwable

  • 27/04/2015

    17

    AERBPAERBP

    33

    Jorge PinaJorge Pina

    JSP Java Server Pages (18)

    Sintaxe (18)

    Objeto implcito: request (interface HttpServletRequest)

    Quando o cliente (browser) faz um pedido ao

    servidor Web, enviada uma srie de informao

    sob a forma de cabealhos HTTP.

    Alguns exemplos destes cabealhos so:

    accept-language

    connection

    cookie

    host

    No endereo http://www.tutorialspoint.com/jsp/jsp_

    client_request.htm poder ser consultada uma lista

    completa destes cabealhos.

    AERBPAERBP

    34

    Jorge PinaJorge Pina

    JSP Java Server Pages (19)

    Sintaxe (19)

    Objeto implcito: request (interface HttpServletRequest)

    Objetos

    implcitos

    Mtodo da

    classe JspWriter

    Mtodos da interface

    HttpServlet Request

  • 27/04/2015

    18

    AERBPAERBP

    35

    Jorge PinaJorge Pina

    JSP Java Server Pages (20)

    Sintaxe (20)

    Objeto implcito: response (interface HttpServletResponse)

    Quando o servidor Web responde ao pedido do cliente

    (browser) enviada uma srie de informao sob a

    forma de cabealhos HTTP.

    Alguns exemplos destes cabealhos so:

    content-language

    expires

    last-modified

    refresh

    No endereo http://www.tutorialspoint.com/jsp/jsp_

    server_response.htm poder ser consultada uma lista

    completa destes cabealhos.

    AERBPAERBP

    36

    Jorge PinaJorge Pina

    JSP Java Server Pages (21)

    Sintaxe (21)

    Objeto implcito: response (interface HttpServletResponse)

    Objetos

    implcitos

    Mtodo da

    classe JspWriter

    Mtodo da interface

    HttpServlet Response

  • 27/04/2015

    19

    AERBPAERBP

    37

    Jorge PinaJorge Pina

    Processamento de formulrios (1)

    A informao inserida nos formulrios, apre-

    sentados no browser, pode ser passada, ao

    servidor Web, utilizando um de dois

    processos:

    GET;

    POST.

    Exemplo de formulrio

    AERBPAERBP

    38

    Jorge PinaJorge Pina

    Processamento de formulrios (2)

    GET

    Processo utilizado por predefinio na

    passagem de informao do cliente para o

    servidor;

    Envia a informao junto com o URL da

    pgina que faz o pedido ao servidor, sendo

    estes (URL + informao) separadas por um

    ? (ponto de interrogao):

    http://www.meuwebsite.com/response.jsp?key1=value1&k

    ey2=value2

  • 27/04/2015

    20

    AERBPAERBP

    39

    Jorge PinaJorge Pina

    Processamento de formulrios (3)

    GET (continuao)

    Limita o tamanho da informao que segue com

    a pgina de pedido a uma String de 1024

    carateres;

    No deve ser utilizado com informaes

    confidenciais como, por exemplo, palavras-

    passe;

    A manipulao da informao realizada

    utilizando:

    As aes , e

    (diapositivo 27);

    Os mtodos da interface HttpServletRequest atravs

    do objeto implcito request.

    AERBPAERBP

    40

    Jorge PinaJorge Pina

    Processamento de formulrios (4)

    GET (continuao)

    Por predefinio

    utilizado o

    GET, pelo que

    no necessrio

    o atributo

    method=GET

  • 27/04/2015

    21

    AERBPAERBP

    41

    Jorge PinaJorge Pina

    Processamento de formulrios (5)

    GET (continuao)

    Mtodo da interface

    HttpServletRequest

    Expresses

    Objeto

    implcito

    AERBPAERBP

    42

    Jorge PinaJorge Pina

    Processamento de formulrios (6)

    POST

    Envia a informao para o servidor numa

    mensagem separada do URL da pgina

    que faz o pedido.

    A manipulao da informao realizada

    utilizando:

    As aes , e

    (diapositivo 27);

    Os mtodos da interface HttpServletRequest atravs

    do objeto implcito request.

  • 27/04/2015

    22

    AERBPAERBP

    43

    Jorge PinaJorge Pina

    Processamento de formulrios (7)

    POST (continuao)

    AERBPAERBP

    44

    Jorge PinaJorge Pina

    Processamento de formulrios (8)

    POST (continuao)

    Expresses

    Mtodo da interface

    HttpServletRequestObjeto

    implcito

  • 27/04/2015

    23

    AERBPAERBP

    45

    Jorge PinaJorge Pina

    Processamento de formulrios (9)

    Mais um exemplo

    AERBPAERBP

    46

    Jorge PinaJorge Pina

    Processamento de formulrios (10)

    Mais um exemplo (continuao)

    Mtodos herdados pela interface

    HttpServletRequest da interface ServletRequest

  • 27/04/2015

    24

    AERBPAERBP

    47

    Jorge PinaJorge Pina

    JSTL JSP Standard Tag Library

    Biblioteca Padro de Tags JSP

    JSTL - JSP Standard Tag

    Library

    AERBPAERBP

    48

    Jorge PinaJorge Pina

    JSTL JSP Standard Tag Library (1)

    O que so?

    Consistem numa coleo de bibliotecas;

    Uma pgina JSTL uma pgina JSP com-

    tendo um conjunto de tags JSTL;

    Cada tag realiza um determinado tipo de

    processamento (equivalente ao cdigo

    Java dentro das JSP);

    Cada tag JSTL, faz parte uma biblioteca

    JSTL;

    Uma pgina JSTL pode utilizar vrias

    bibliotecas JSTL.

  • 27/04/2015

    25

    AERBPAERBP

    49

    Jorge PinaJorge Pina

    JSTL JSP Standard Tag Library (2)

    Vantagens da sua utilizao

    Permitem criar pginas dinmicas bastante

    complexas sem escrever cdigo Java

    dentro delas;

    Tornam fceis tarefas que exigiriam vrias

    linhas de cdigo Java como, por exemplo,

    a formatao de nmeros e datas;

    Portanto, facilitam a interao entre

    programadores e web designers uma vez

    que, os ltimos, geralmente no tm

    conhecimentos de Java.

    AERBPAERBP

    50

    Jorge PinaJorge Pina

    JSTL JSP Standard Tag Library (3)

    Vantagens da sua utilizao

    Permitem criar pginas dinmicas bastante

    complexas sem escrever cdigo Java

    dentro delas;

    Tornam fceis tarefas que exigiriam vrias

    linhas de cdigo Java como, por exemplo,

    a formatao de nmeros e datas;

    Portanto, facilitam a interao entre

    programadores e web designers uma vez

    que, os ltimos geralmente no tm

    conhecimentos de Java.

  • 27/04/2015

    26

    AERBPAERBP

    51

    Jorge PinaJorge Pina

    Bibliotecas padro:

    Biblioteca Core (prefixo: c):

    Aceder e modificar dados emmemria;

    Instrues condicionais;

    Manipulao de variveis;

    Estruturas de controlo (Ciclos).

    JSTL JSP Standard Tag Library (4)

    AERBPAERBP

    52

    Jorge PinaJorge Pina

    Biblioteca XML (prefixo: x):

    Parsing (leitura) de docs;

    Impresso de partes de docs;

    Tomada de decises com base no contedo de um doc XML.

    JSTL JSP Standard Tag Library (5)

  • 27/04/2015

    27

    AERBPAERBP

    53

    Jorge PinaJorge Pina

    Biblioteca Internacionalizao e formatao

    (prefixo: fmt):

    Formatao de mensagens;

    Formatao de nmeros;

    Formatao de datas.

    JSTL JSP Standard Tag Library (6)

    AERBPAERBP

    54

    Jorge PinaJorge Pina

    Biblioteca Database (prefixo: sql):

    Leitura e escrita em bds.

    JSTL JSP Standard Tag Library (7)

  • 27/04/2015

    28

    AERBPAERBP

    55

    Jorge PinaJorge Pina

    JSTL Tags Bsicas (Biblioteca Core):

    - Blocos de Repetio;

    - Transforma String em SubString; deacordo com o delimitador indcado;

    - Teste Condicional;

    - Multiplos testes condcionais.Utlizada juntamente com as tags e

    JSTL JSP Standard Tag Library (8)

    AERBPAERBP

    56

    Jorge PinaJorge Pina

    - Importa o conteudo de uma URLpara dentro da pgina;

    - permite atribuir valores a variaveis;

    - Imprime uma saida para o utilizador;

    JSTL JSP Standard Tag Library (9)

  • 27/04/2015

    29

    AERBPAERBP

    57

    Jorge PinaJorge Pina

    Exemplos com a tag

    JSTL JSP Standard Tag Library (10)

    AERBPAERBP

    58

    Jorge PinaJorge Pina

    Exemplos com a tag

    JSTL JSP Standard Tag Library (11)

  • 27/04/2015

    30

    AERBPAERBP

    59

    Jorge PinaJorge Pina

    Exemplos com a tag

    JSTL JSP Standard Tag Library (12)

    AERBPAERBP

    60

    Jorge PinaJorge Pina

    Exemplo com as tags , e

    JSTL JSP Standard Tag Library (13)

  • 27/04/2015

    31

    AERBPAERBP

    61

    Jorge PinaJorge Pina

    JSTL Tags de Formatao:

    - Formata nmeros;

    - efetua o parse de uma

    nmero ou valor;

    - Formata Datas;

    - Efetua o parse a uma Data;

    - Recupera uma timezone;

    - Define uma timezone;

    - Define o local (a lingua a ser

    usada na aplicao).

    JSTL JSP Standard Tag Library (14)

    AERBPAERBP

    62

    Jorge PinaJorge Pina

    Exemplo de utilizao do prefixo fmt

    JSTL JSP Standard Tag Library (15)

  • 27/04/2015

    32

    AERBPAERBP

    63

    Jorge PinaJorge Pina

    Exemplo de utilizao do prefixo fmt (cont.)

    JSTL JSP Standard Tag Library (16)

    AERBPAERBP

    64

    Jorge PinaJorge Pina

    Um exemplo JSTL_Exemplo7

    JSP + JSTL (1)

  • 27/04/2015

    33

    AERBPAERBP

    65

    Jorge PinaJorge Pina

    Um exemplo (continuao)

    JSP + JSTL (2)

    Nome do atributo da

    classe ColecaoNomes

    AERBPAERBP

    66

    Jorge PinaJorge Pina

    JSTL

    Comunicao com Base de Dados

    JSTL - Comunicao com BD

  • 27/04/2015

    34

    AERBPAERBP

    67

    Jorge PinaJorge Pina

    Comunicao com uma BD (1)

    Criar uma nova ligao base de

    dados, por cada solicitao recebida

    pela aplicao, pode torn-la muito

    demorada.

    Isto acontece sobretudo em aplica-

    es que recebem continuamente um

    grande nmero de solicitaes, como

    o caso de algumas aplicaes Web.

    AERBPAERBP

    68

    Jorge PinaJorge Pina

    Comunicao com uma BD (2)

    A maneira mais eficiente de implemen-

    tar a comunicao entre um servidor

    Web e uma base de dados atravs

    de um JDBC Connection Pool

    Este mantm numerosas ligaes que

    so utilizadas pela aplicao quando

    esta necessita de comunicar com a BD

    e devolvidas ao pool quando deixam

    de ser necessrias.

  • 27/04/2015

    35

    AERBPAERBP

    69

    Jorge PinaJorge Pina

    Comunicao com uma BD (3)

    Para alm de criar um JDBC

    Connection Pool, a comunicao com

    uma BD implica ainda a configurao

    de um JDBC Resource.

    Por fim, necessrio fazer referncia ao

    JDBC Resource criando uma entrada

    no ficheiro web.xml da aplicao.

    AERBPAERBP

    70

    Jorge PinaJorge Pina

    Comunicao com uma BD (4)

    Quer o JDBC Connection Pool quer o JDBC

    Resource podem ser criados atravs do IDE

    NetBeans ou diretamente no servidor.

    Os procedimentos que se mostram de seguida

    consideram a existncia de uma base de dados

    denominada gestao_rh com uma tabela de

    nome empregados, com os campos codigo,

    nome, departamento e salario

    Tambm se pressupe a existncia de um

    projeto Web, com pelo menos um ficheiro jsp,

    que esteja implantado no servidor.

  • 27/04/2015

    36

    AERBPAERBP

    71

    Jorge PinaJorge Pina

    JDBC Connection Pool (1)

    IDE NetBeans

    File

    New File

    Categories: GlassFish

    File Types: JDBC Connection Pool

    Aps a criao do connection pool poder confirmar aexistncia do mesmo em Services Servers Glassfish Server Resources JDBC Connection Pools

    AERBPAERBP

    72

    Jorge PinaJorge Pina

    JDBC Connection Pool (2)

    IDE NetBeans (cont.)

    Pode ser um

    nome escolha

  • 27/04/2015

    37

    AERBPAERBP

    73

    Jorge PinaJorge Pina

    JDBC Connection Pool (3)

    IDE NetBeans (cont.)

    AERBPAERBP

    74

    Jorge PinaJorge Pina

    JDBC Connection Pool (4)

    Servidor GlassFish

    Common tasks

    Resources

    JDBC

    JDBC Connection Pools

    New

  • 27/04/2015

    38

    AERBPAERBP

    75

    Jorge PinaJorge Pina

    JDBC Connection Pool (5)

    Servidor GlassFish (cont.)

    Ateno: URL e no URI

    AERBPAERBP

    76

    Jorge PinaJorge Pina

    JDBC Resource (1)

    IDE NetBeans

    File

    New File

    Categories: GlassFish

    File Types: JDBC Resource

    Aps a criao do resource poder confirmar a existnciado mesmo em Services Servers Glassfish Server Resources JDBC JDBC Resources

  • 27/04/2015

    39

    AERBPAERBP

    77

    Jorge PinaJorge Pina

    JDBC Resource (2)

    IDE NetBeans (cont.)

    AERBPAERBP

    78

    Jorge PinaJorge Pina

    JDBC Resource (3)

    IDE NetBeans (cont.)

  • 27/04/2015

    40

    AERBPAERBP

    79

    Jorge PinaJorge Pina

    JDBC Resource (4)

    Servidor Glassfish

    Common tasks

    Resources

    JDBC

    JDBC Resources

    New

    AERBPAERBP

    80

    Jorge PinaJorge Pina

    JDBC Resource (5)

    Servidor Glassfish (cont.)

  • 27/04/2015

    41

    AERBPAERBP

    81

    Jorge PinaJorge Pina

    Ficheiro web.xml (1)

    IDE NetBeans

    File

    New File

    Categories: Web

    File Types: Standard Deployment Descriptor

    AERBPAERBP

    82

    Jorge PinaJorge Pina

    Ficheiro web.xml (2)

    IDE NetBeans (cont.)

  • 27/04/2015

    42

    AERBPAERBP

    83

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD(1)

    As aplicaes que comunicam com bases de

    dados utilizam tags JSTL da biblioteca Acesso

    bds via sql (, ).

    O exemplo que se apresenta de seguida tem

    como objetivo listar o nome e o salrio de

    todos os registos da tabela empregados da bd

    gestao_rh.

    Para funcionar corretamente necessrio criar

    previamente o connectionPollRH e o jdbc/

    gestao_rh e configurar o web.xml, conforme

    explicado nos diapositivos anteriores.

    AERBPAERBP

    84

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (2)

    JDBC Resource que utiliza o JDBC

    Connection Pool connectionPollRH

    Tags JSTL da Biblioteca

    Acesso bds via sql

    Tags JSTL da

    Biblioteca Core

  • 27/04/2015

    43

    AERBPAERBP

    85

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (3)

    O exemplo que se apresenta de seguida tem

    como objetivo listar o id e o salrio de todos os

    registos da tabela empregados da bd

    gestao_rh.

    Para funcionar corretamente necessrio criar

    previamente o connectionPoolRH_GF e o

    jdbc/gestao_rh_GF e configurar o web.xml,

    conforme explicado nos diapositivos anteriores.

    AERBPAERBP

    86

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (4)

    JDBC Resource que utiliza o JDBC

    Connection Pool connectionPollRH_GF

    Tags JSTL da Biblioteca

    Acesso bds via sql

    Tags JSTL da

    Biblioteca Core

  • 27/04/2015

    44

    AERBPAERBP

    87

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (5)

    A tag cria uma varivel a respeito daqual podem ser recuperadas diversas

    propriedades.

    Supondo que a varivel se denomina listagem:

    listagem.columnNames retorna uma lista com o

    nome das colunas.

    listagem.rowCount recupera o nmero de linhas

    da listagem.

    listagem.rows permite aceder aos dados das

    linhas utilizando o nome das colunas.

    listagem.rowsByIndex permite aceder aos dados

    das linhas utilizando o ndice das colunas.

    AERBPAERBP

    88

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (6)

    Propriedades da varivel

    lista_empregados

    Acesso pelo nome

    das colunas

  • 27/04/2015

    45

    AERBPAERBP

    89

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (7)

    Acesso pelo ndice

    das colunas

    AERBPAERBP

    90

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (8)

    Enquanto a tag utilizada com a

    instruo SELECT a tag utilizadacom instrues como INSERT, DELETE, UPDATE,

    entre outras.

  • 27/04/2015

    46

    AERBPAERBP

    91

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (9)

    Inserir dados do formulrio na base de dados

    AERBPAERBP

    92

    Jorge PinaJorge Pina

    JSTL para manipulao dos dados de uma BD (10)

    Inserir dados do formulrio na base de dados (cont.)

  • 27/04/2015

    47

    AERBPAERBP

    93

    Jorge PinaJorge Pina

    Referncias Bibliogrficas

    EIJE, Albert; BARROS, Cludio; KOJIIO, Miguel. Curso JSP. Consultado em Maro 2015

    SAUV, Jacques. JSTL - JSP Standard Tag Library[online]. Disponvel via na Internet via www. URL http://www.dsc.ufcg.edu.br/ ~jacques/cursos/daca/html/jstl/jstl.htm. Consultado em Maro 2015

    SIERRA Kathy; BARTES, Bert. Use a cabea! Java. Editora Alta Books Rio de Janeiro. 2005

    TUTORIALS POINT. JSP Tutorial [online]. Disponvel via na Internet via www. URL http://www.tutorialspoint.com/jsp/. Consultado em Maro 2015