Você está na página 1de 47

27/04/2015

2014/2015

3 TSI

Jorge Pina

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

Programao e Sistemas de Informao

Opes de distribuio (1)




Como visto em mdulos anteriores, linguagem


Java esto inerentes 3 meios de distribuio:


Local


Combinao Local e Remota




AERBP


Jorge Pina

A aplicao executada no computador local do


utilizador final como um programa autnomo (jar);
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

Opes de distribuio (2)


O esquema seguinte exibe as solues Java para
cada uma das trs opes de distribuio
anteriores:

AERBP

Jorge 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);
AERBP

Tudo

que

os

clientes necessitam

de um

qualquer sistema operativo e de um navegador


Jorge Pina

WEB

(Browser),

para poderem ter acesso

aplicao.
4

27/04/2015

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

AERBP

essas mesmas atualizaes, automaticamente, a


todos os utilizadores.

Jorge 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,

processamento das tarefas, solicitadas pelo

AERBP

cliente, integralmente executado no servidor.


Jorge Pina

Guardar dados num ficheiro ou numa base de


dados

so

tarefas

habitualmente

implementadas por Servlets.

27/04/2015

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.

AERBP

Jorge 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.

AERBP

Jorge Pina

27/04/2015

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.

AERBP

Jorge Pina

Servlets vs JSP Java Server Pages (2)




Todas as JSP so transformadas em servlets


durante a execuo das aplicaes.

AERBP

Jorge Pina

10

27/04/2015

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

AERBP

(Software Development Kit).


Jorge Pina

11

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/

AERBP

Jorge Pina

12

27/04/2015

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.

AERBP

Jorge Pina

13

Servlets vs JSP Java Server Pages (6)

AERBP

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.

Jorge Pina

14

27/04/2015

JSP Java Server Pages (1)




Sintaxe (1)



AERBP

Jorge Pina

Comentrios tudo o que estiver dentro destes


elementos ser ignorado no processamento das
pginas JSP.


<%-- comentrio --%>

<!-- comentrio -->

(comentrio JSP)
(comentrio HTML)

Declaraes permitem declarar variveis ou


mtodos que sero mais tarde utilizados nas JSP.


<%! int i = 0; %>

<%! int a, b, c; %>

<%! Pessoa p = new Pessoa(Jorge); %>

<%! SimpleDateFormat sdf = new SimpleDateFormat

15

(dd-MM-yyyy); %>

JSP Java Server Pages (2)




Sintaxe (2)


AERBP

Jorge Pina

16

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: <%= (new java.util.Date()) %>

Notas sobre expresses




As expresses nunca terminam com ; (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

JSP Java Server Pages (3)




Sintaxe (3)


Diretivas fornecem indicaes ao servidor de


forma a que este saiba como processar certas
instrues das JSP.

AERBP

<%@ page %> - instrues relacionadas com a pgina a


ser processada como, por exemplo, o esquema de
codificao de carateres ou classes Java utilizadas.

<%@ include %> - 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.

<%@ taglib %> - possibilita a utilizao de um conjunto


de tags personalizadas atravs da indicao da localizao
da biblioteca onde estas foram definidas.

Jorge Pina

17

JSP Java Server Pages (4)




Sintaxe (4)



Diretiva <%@ page %>


Crie no IDE NetBeans um novo projeto, escolha Java Web
Web Application e atribua-lhe o nome JSP_Exemplo1.

Diretivas

AERBP

Jorge Pina

Declaraes
Expresso

18

27/04/2015

JSP Java Server Pages (5)




Sintaxe (5)


Diretiva <%@ include %>

Crie um novo projeto, escolha Java Web Web


Application e atribua-lhe o nome JSP_Exemplo2.

Declaraes

Scriptlet

AERBP

Jorge Pina

Expresso
19

JSP Java Server Pages (6)




Sintaxe (6)


Diretiva <%@ include %> (continuao)

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


nome rodape.

AERBP

Jorge Pina

20

10

27/04/2015

JSP Java Server Pages (7)




Sintaxe (7)


Diretiva <%@ include %> (continuao)

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


nome index.

AERBP

Diretiva

Jorge Pina

Diretiva
21

JSP Java Server Pages (7)




Sintaxe (7)


Diretiva <%@ tag %>




Esta diretiva ser abordada mais frente aquando


da abordagem das JSTL .

AERBP

Jorge Pina

22

11

27/04/2015

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:

AERBP

Jorge Pina

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.

23

JSP Java Server Pages (9)




Sintaxe (9)


Ao <jsp:include>


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.

ao include a
incluso do ficheiro ocorre na fase
em que o pedido
da pgina processado.

 Na
AERBP

Jorge Pina

24

12

27/04/2015

JSP Java Server Pages (10)




Sintaxe (10)


Ao <jsp:include> (continuao)

AERBP

Jorge Pina

25

JSP Java Server Pages (11)




Sintaxe (11)


Ao <jsp:forward> - Encaminha a solicitao


para uma nova pgina.

AERBP

Jorge Pina

26

13

27/04/2015

JSP Java Server Pages (12)




Sintaxe (12)


AERBP

Aes:


<jsp:useBean> - localiza ou instancia uma JavaBeans;

<jsp:setProperty> - Define as propriedades de uma


JavaBeans;

<jsp:getProperty> - 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.

Jorge Pina

27

JSP Java Server Pages (13)




Sintaxe (13)


Aes <jsp:useBean>, <jsp:setProperty> e


<jsp:getProperty> (continuao)

AERBP

Jorge Pina

28

14

27/04/2015

JSP Java Server Pages (14)




Sintaxe (14)


Aes <jsp:useBean>, <jsp:setProperty> e


<jsp:getProperty> (continuao)

AERBP

Tem que ser igual ao nome do


atributo da classe ClasseNome
Jorge Pina

29

JSP Java Server Pages (15)




Sintaxe (15)


Aes <jsp:useBean>, <jsp:setProperty> e


<jsp:getProperty> (continuao)

AERBP

Jorge Pina

30

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).

15

27/04/2015

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.

AERBP

So tambm designados como variveis predefinidas.

Como bvio, atravs destes objetos possvel


invocar todos os mtodos das respetivas interfaces ou
classes.

Jorge Pina

31

JSP Java Server Pages (17)




Sintaxe (17)


Objetos implcitos (continuao)

Nome do objeto

AERBP

Interfaces / Classes
HttpServletRequest

javax.servlet.http

informao do pedido HTTP

response

HttpServletResponse

javax.servlet.http

informao da resposta HTTP

out

JspWriter

javax.servlet.jsp

Fluxo de sada para o conteudo


da pgina

session

HttpSession

javax.servlet.http

Dados de sesso do utilizador

application

ServletContext

javax.servlet

Dados partilhados nas paginas

config

ServletConfig

javax.servlet

Dados de comfigurao servlet

pageContext

PageContext

javax.servlet.jsp

contm o contexto da pgina

page

Sinnimo de this

javax.servlet.jsp.Htt
pJspPage

Instancia da classe Servlet na


qual a JSP se transformou

exception

Exception

java.io

Instancia da classe
java.Lang.Throwable

Jorge Pina

32

Pacote

request

As especificaes destas interfaces e classes podero ser


consultadas em http://docs.oracle.com/javaee/7/api/

16

27/04/2015

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:

AERBP

Jorge Pina

33

accept-language

connection

cookie

host

No endereo http://www.tutorialspoint.com/jsp/jsp_
client_request.htm poder ser consultada uma lista
completa destes cabealhos.

JSP Java Server Pages (19)




Sintaxe (19)


Objeto implcito: request (interface HttpServletRequest)

AERBP

Objetos
implcitos
Jorge Pina

34

Mtodo da
classe JspWriter

Mtodos da interface
HttpServlet Request

17

27/04/2015

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:

AERBP

Jorge Pina

35

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.

JSP Java Server Pages (21)




Sintaxe (21)


Objeto implcito: response (interface HttpServletResponse)

AERBP

Objetos
implcitos
Jorge Pina

36

Mtodo da
classe JspWriter

Mtodo da interface
HttpServlet Response

18

27/04/2015

Processamento de formulrios (1)




A informao inserida nos formulrios, apresentados no browser, pode ser passada, ao


servidor Web, utilizando um de dois
processos:


GET;

POST.

AERBP

Jorge Pina

Exemplo de formulrio
37

Processamento de formulrios (2)




AERBP

Jorge Pina

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

38

19

27/04/2015

Processamento de formulrios (3)




AERBP

Jorge Pina

39

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, palavraspasse;

A manipulao
utilizando:

da informao

realizada

As
aes
<jsp:useBean>,
<jsp:setProperty>
<jsp:getProperty> (diapositivo 27);

Os mtodos da interface HttpServletRequest atravs


do objeto implcito request.

Processamento de formulrios (4)




AERBP

GET (continuao)

Por predefinio
utilizado o
GET, pelo que
no necessrio
o atributo
method=GET

Jorge Pina

40

20

27/04/2015

Processamento de formulrios (5)




GET (continuao)

Expresses
AERBP

Objeto
implcito

Mtodo da interface
HttpServletRequest

Jorge Pina

41

Processamento de formulrios (6)




AERBP

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
<jsp:useBean>,
<jsp:setProperty>
<jsp:getProperty> (diapositivo 27);

Os mtodos da interface HttpServletRequest atravs


do objeto implcito request.

Jorge Pina

42

21

27/04/2015

Processamento de formulrios (7)




POST (continuao)

AERBP

Jorge Pina

43

Processamento de formulrios (8)




POST (continuao)

Expresses
AERBP

Jorge Pina

Objeto
implcito

Mtodo da interface
HttpServletRequest

44

22

27/04/2015

Processamento de formulrios (9)




Mais um exemplo

AERBP

Jorge Pina

45

Processamento de formulrios (10)




Mais um exemplo (continuao)

AERBP

Jorge Pina

Mtodos herdados pela interface


HttpServletRequest da interface ServletRequest
46

23

27/04/2015

JSTL JSP Standard Tag Library

JSTL - JSP Standard Tag


Library
Biblioteca Padro de Tags JSP
AERBP

Jorge Pina

47

JSTL JSP Standard Tag Library (1)




O que so?


Consistem numa coleo de bibliotecas;

Uma pgina JSTL uma pgina JSP comtendo 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.

AERBP

Jorge Pina

48

24

27/04/2015

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.

AERBP

Jorge Pina

49

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.

AERBP

Jorge Pina

50

25

27/04/2015

JSTL JSP Standard Tag Library (4)


Bibliotecas padro:


AERBP

Biblioteca Core (prefixo: c):




Aceder e modificar dados em memria;

Instrues condicionais;

Manipulao de variveis;

Estruturas de controlo (Ciclos).

Jorge Pina

51

JSTL JSP Standard Tag Library (5)




Biblioteca XML (prefixo: x):






Parsing (leitura) de docs;


Impresso de partes de docs;
Tomada de decises com base no contedo de
um doc XML.

AERBP

Jorge Pina

52

26

27/04/2015

JSTL JSP Standard Tag Library (6)




Biblioteca Internacionalizao e formatao


(prefixo: fmt):




Formatao de mensagens;
Formatao de nmeros;
Formatao de datas.

AERBP

Jorge Pina

53

JSTL JSP Standard Tag Library (7)




Biblioteca Database (prefixo: sql):




Leitura e escrita em bds.

AERBP

Jorge Pina

54

27

27/04/2015

JSTL JSP Standard Tag Library (8)




JSTL Tags Bsicas (Biblioteca Core):




<c:forEach> - Blocos de Repetio;

<c:forToken> - Transforma String em SubString; de


acordo com o delimitador indcado;

<c:if> - Teste Condicional;

<c:choose> - Multiplos testes condcionais.


Utlizada juntamente com as tags <c:then> e
<c:otherwise>

AERBP

Jorge Pina

55

JSTL JSP Standard Tag Library (9)




<c:import> - Importa o conteudo de uma URL


para dentro da pgina;

<c:set> - permite atribuir valores a variaveis;

<c:out> - Imprime uma saida para o utilizador;

AERBP

Jorge Pina

56

28

27/04/2015

JSTL JSP Standard Tag Library (10)


Exemplos com a tag <c:if>

AERBP

Jorge Pina

57

JSTL JSP Standard Tag Library (11)


Exemplos com a tag <c:if>

AERBP

Jorge Pina

58

29

27/04/2015

JSTL JSP Standard Tag Library (12)


Exemplos com a tag <c:forEach>

AERBP

Jorge Pina

59

JSTL JSP Standard Tag Library (13)


Exemplo com as tags <c:choose>, <c:when> e <c:otherwise>

AERBP

Jorge Pina

60

30

27/04/2015

JSTL JSP Standard Tag Library (14)




JSTL Tags de Formatao:




<ftm:formatNumber> - Formata nmeros;

<ftm:parseNumber> - efetua o parse de uma


nmero ou valor;

<ftm:FormatDate> - Formata Datas;

<ftm:parseDate> - Efetua o parse a uma Data;

<ftm:timeZone> - Recupera uma timezone;

<ftm:setTimeZone> - Define uma timezone;

<ftm:setLocal> - Define o local (a lingua a ser

AERBP

Jorge Pina

61

usada na aplicao).

JSTL JSP Standard Tag Library (15)


Exemplo de utilizao do prefixo fmt

AERBP

Jorge Pina

62

31

27/04/2015

JSTL JSP Standard Tag Library (16)


Exemplo de utilizao do prefixo fmt (cont.)

AERBP

Jorge Pina

63

JSP + JSTL (1)




Um exemplo JSTL_Exemplo7

AERBP

Jorge Pina

64

32

27/04/2015

JSP + JSTL (2)




Um exemplo (continuao)

AERBP

Nome do atributo da
classe ColecaoNomes
Jorge Pina

65

JSTL - Comunicao com BD


JSTL
Comunicao com Base de Dados

AERBP

Jorge Pina

66

33

27/04/2015

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 aplicaes que recebem continuamente um


grande nmero de solicitaes, como
o caso de algumas aplicaes Web.

AERBP

Jorge Pina

67

Comunicao com uma BD (2)

AERBP

Jorge Pina

A maneira mais eficiente de implementar 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.

68

34

27/04/2015

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.

AERBP

Jorge Pina

69

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.

AERBP

Jorge Pina

70

35

27/04/2015

JDBC Connection Pool (1)




IDE NetBeans


File

New File

Categories: GlassFish

File Types: JDBC Connection Pool

AERBP

Jorge Pina

Aps a criao do connection pool poder confirmar a


existncia do mesmo em Services Servers Glassfish Server
Resources JDBC Connection Pools

71

JDBC Connection Pool (2)




IDE NetBeans (cont.)

Pode ser um
nome escolha

AERBP

Jorge Pina

72

36

27/04/2015

JDBC Connection Pool (3)




IDE NetBeans (cont.)

AERBP

Jorge Pina

73

JDBC Connection Pool (4)




AERBP

Servidor GlassFish


Common tasks

Resources

JDBC

JDBC Connection Pools

New

Jorge Pina

74

37

27/04/2015

JDBC Connection Pool (5)




Servidor GlassFish (cont.)

AERBP

Jorge Pina

75

Ateno: URL e no URI

JDBC Resource (1)




IDE NetBeans


File

New File

Categories: GlassFish

File Types: JDBC Resource

AERBP

Jorge Pina

76

Aps a criao do resource poder confirmar a existncia


do mesmo em Services Servers Glassfish Server Resources
JDBC JDBC Resources

38

27/04/2015

JDBC Resource (2)




IDE NetBeans (cont.)

AERBP

Jorge Pina

77

JDBC Resource (3)




IDE NetBeans (cont.)

AERBP

Jorge Pina

78

39

27/04/2015

JDBC Resource (4)




Servidor Glassfish


Common tasks

Resources

JDBC

JDBC Resources

New

AERBP

Jorge Pina

79

JDBC Resource (5)




Servidor Glassfish (cont.)

AERBP

Jorge Pina

80

40

27/04/2015

Ficheiro web.xml (1)




IDE NetBeans


File

New File

Categories: Web

File Types: Standard Deployment Descriptor

AERBP

Jorge Pina

81

Ficheiro web.xml (2)




IDE NetBeans (cont.)

AERBP

Jorge Pina

82

41

27/04/2015

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 (<sql:query>, <sql:update>).

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.

AERBP

Jorge Pina

83

JSTL para manipulao dos dados de uma BD (2)


Tags JSTL da Biblioteca
Acesso bds via sql

JDBC Resource que utiliza o JDBC


Connection Pool connectionPollRH

AERBP

Jorge Pina

Tags JSTL da
Biblioteca Core
84

42

27/04/2015

JSTL para manipulao dos dados de uma BD (3)

AERBP

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.

Jorge Pina

85

JSTL para manipulao dos dados de uma BD (4)


Tags JSTL da Biblioteca
Acesso bds via sql

JDBC Resource que utiliza o JDBC


Connection Pool connectionPollRH_GF

AERBP

Jorge Pina

Tags JSTL da
Biblioteca Core
86

43

27/04/2015

JSTL para manipulao dos dados de uma BD (5)




A tag <sql:query> cria uma varivel a respeito da


qual
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.

AERBP

Jorge Pina

87

JSTL para manipulao dos dados de uma BD (6)

Propriedades da varivel
lista_empregados

AERBP

Jorge Pina

Acesso pelo nome


das colunas
88

44

27/04/2015

JSTL para manipulao dos dados de uma BD (7)

AERBP

Jorge Pina

Acesso pelo ndice


das colunas
89

JSTL para manipulao dos dados de uma BD (8)

Enquanto a tag <sql:query> utilizada com a


instruo SELECT a tag <sql:update> utilizada
com instrues como INSERT, DELETE, UPDATE,
entre outras.

AERBP

Jorge Pina

90

45

27/04/2015

JSTL para manipulao dos dados de uma BD (9)

Inserir dados do formulrio na base de dados

AERBP

Jorge Pina

91

JSTL para manipulao dos dados de uma BD (10)

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

AERBP

Jorge Pina

92

46

27/04/2015

Referncias Bibliogrficas


AERBP

Jorge Pina

93

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

47

Você também pode gostar