Você está na página 1de 46

Programação Java Web

JSTL – Padrões MVC e DAO


Prof. Jeangrei Veiga
jeangrei@visionnit.com.br
AGENDA

JSTL

Padrão MVC

Padrão DAO
MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 2
PROGRAMAÇÃO JAVA WEB
JSTL – JAVA SERVERPAGES STANDARD
TEMPLATE LIBRARY

Introdução a Programação de Computadores - Prof. Jeangrei Veiga


3
PROGRAMAÇÃO JAVA WEB
JSTL
▪ O que é?

JSTL é o acrônimo de Java ServerPages Standard Template Library, o qual


podemos usar para recuperar dados de forma transparente usando como
componente básico da JEE o qual é muito usado na programação de JSP.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 4 4


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Para que serve?
• Pode servir, como mecanismo básico de recuperação de dados, de um
banco de dados, de um arquivo de contexto e/ou XML (Extensible Markup
Language).
• JSTL nos possibilita usar de maneira embutida, o código de lógica Java, sem
necessariamente usar uma classe Java. Porém através do uso de Beans,
ficando bem mais transparente e organizado.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 5 5


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Para que serve?
• Permitir que os programadores JSP usem tags em vez de código Java. O uso
do JSTL é bastante aceito e sugerido quando necessitamos de algo mais
rápido, uma simples amostragem, como exemplos rápidos, consultas pré-
ordenadas.
• Como exemplo de mal uso da programação, por vezes um profissional abusa
do código junto ao HTML, ou HTML+JSP, enchendo de scriptlets.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 6 6


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Para que serve?

Utilizando scriptlets (código Java embutido) Utilizando JSTL

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 7 7


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Como utilizar?
Após criar o projeto, será necessário:
1. Adicionar as bibliotecas no
projeto

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 8 8


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Como utilizar?
Após criar o projeto, será necessário:
2. Criar a página e incluir a taglib JSTL

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 9 9


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Como utilizar?
Após criar o projeto, será necessário:
3. Utilizar as tags JSTL dentro da página

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 10 10


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Principais Taglibs

Pacote Sugestão Descrição


de prefixo
JSTL Core C Tags relacionadas à lógica e controle como (if, forEach,
url, set, import, etc.).
JSTL fmt fmt Tags para formatação e internacionalização de dados

JSTL sql sql Tags para acessar, inserir, alterar e deletar dados em um
servidor de banco de dados.
JSTL xml x Tags para seleção, parser e transformação de modelos
XML.
JSTL functions Fn Conjunto de funções para o processamento de objetos
Strings e coleções.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 11 11


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Principais Taglibs
Core Tag Library
Contém as tags essenciais, padrão para a execução, por exemplos loops, expressões, etc...
Seria o básico do tratamento de entrada e saída, input and output.

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c">

Exemplo: <c:if test="..." ... >...</c:if>

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 12 12


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Principais Taglibs

Formatting/Internationalization Tag Library


Usada para dados , formatação e análise.
Algumas dessas marcas vai analisar dados, tais como datas, de forma diferente dependendo da
localidade atual.

<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt">

▪ Exemplo: <fmt:message key="..." />

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 13 13


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Principais Taglibs

Database Tag Library


São tags que pode ser usadas para acessar banco de dados, usando comandos SQL.

<%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql">

▪ Exemplo: <sql:update>...</sql:update>

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 14 14


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Principais Taglibs

XML Tag Library


Usada para acessar os elementos XML.
Como o XML é usada em muitos aplicativos da Web, processamento de XML é uma
característica importante do JSTL.

<%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x">

▪ Exemplo: <x:parse>...</x:parse>

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 15 15


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Exibindo Objetos
O formato padrão:
<c:out value = “${objeto.atributo}” />
Imagine um objeto Pessoa, contendo os atributos nome e idade.

Para acessar o valor dos atributos deste objeto, seria necessário:


Nome: <c:out value = “${pessoa.nome}” />
Idade: <c:out value = “${pessoa.idade}” />

Para setar o valor nos atributos, seria necessário:


<c:set var = “nomeDaVariavel” value=“valor” />

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 16 16


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Acessando objetos a
partir de uma classe
JavaBean

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 17 17


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Exibindo Objetos

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 18 18


PROGRAMAÇÃO JAVA WEB
JSTL
▪ Exibindo Objetos
PROGRAMAÇÃO JAVA WEB
JSTL
▪ Exibindo Objetos

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 20 20


PROGRAMAÇÃO JAVA WEB
JSTL
▪ EL – Expression Language
Outro recurso muito importante, introduzido pela JSTL, é a EL, ou seja, Expression
Language(Linguagem de Expressão), que é uma forma mais simples de acessar e manipular
objetos, sua sintaxe, é composta por um “cifrão”, seguido por um par de chaves, contendo o nome
do objeto.

Ou ainda poderíamos usar cálculos matemáticos como:

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 21 21


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 22


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.
▪ Adicionar a biblioteca JSTL no projeto Java Web
Selecionar a pasta do projeto “/src/main/webapp/WEB-INF/lib”, abrir o menu de opções e
selecionar a opção “Import”.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 23 23


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.
▪ Adicionar a biblioteca JSTL no projeto Java Web
Selecionar a opção “/General /File System”.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 24 24


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.
▪ Adicionar a biblioteca JSTL no projeto Java Web
Selecionar a pasta que consta a biblioteca.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 25 25


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.
▪ Adicionar a biblioteca JSTL no projeto Java Web
Selecionar as bibliotecas e finalizar.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 26 26


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.
▪ adicionar a biblioteca JSTL no projeto Java Web
As bibliotecas serão incluídas na pasta lib.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 27 27


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.
▪ adicionar uma página JSP “Jstl.jsp” na pasta admin do projeto.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 28 28


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.
▪ Implementar
o código abaixo na página.

Import da taglib

Utilizando c:set para


setar o valor de uma
propriedade

Utilizando c:out para


buscar o valor de
uma propriedade

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 29 29


PROGRAMAÇÃO JAVA WEB
JSTL
ATIVIDADE 9 – Implementar o uso de JSTL no projeto JavaWebHelloWord.
▪ Adicionar o link na página index.jsp
▪ Abrir a página index e clicar no link para abrir a página.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 30 30


PROGRAMAÇÃO JAVA WEB
PADRÃO DE DESENVOLVIMENTO MVC
MODEL VIEW CONTROLLER

Introdução a Programação de Computadores - Prof. Jeangrei Veiga


31
PROGRAMAÇÃO JAVA WEB
Padrão MVC
▪ Arquitetura desenvolvida para uso no projeto de
interface visual em Smaltalk.
▪ Conceito de desenvolvimento e design que separa a
aplicação em três partes distintas.
▪ Arquitetura importante para o desenvolvimento de
aplicações Web escritas em Java.
▪ Oferece benefícios significantes para aplicações Web,
como o reuso e manutenção.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 32


PROGRAMAÇÃO JAVA WEB
Padrão MVC
▪ Separa a aplicação em três partes distintas:
▪ Model (modelo): relacionada ao trabalho atual que a
aplicação administra.
▪ View (visão): exibir os dados ou informações da
aplicação.
▪ Controller (controle): coordenar os dois anteriores.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 33


PROGRAMAÇÃO JAVA WEB
Padrão MVC
▪ Muito comum no desenvolvimento de aplicações Web
▪ Fornece o modo mais fácil de reunir uma aplicação Web.
▪ Envolve simplesmente a construção de uma aplicação
com um conjunto de páginas JSP.
▪ Modelo indicado para aplicações pequenas com
quantidade limitada de lógica de negócio

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 34


PROGRAMAÇÃO JAVA WEB
Padrão MVC 1. O usuário pede uma página de Web - por exemplo, a página principal,
index.jsp
4. Como resultado do
processo, é construído o
3. Unido junto a lógica de
HTML final e exibido ao
negócios da página, serão
usuário.
confeccionadas e
apresentados o HTML ao
usuário

2. O container Servlet executa a lógica contida na página index.jsp como também


inclui páginas para que se possa apontar. Esta execução pode incluir a recuperação
de dados de um banco de dados ou outras funções que satisfaçam a lógica de
negócios. Os JavaBeans fornecem as representações de dados dentro da página JSP
PROGRAMAÇÃO JAVA WEB
PADRÃO DE DESENVOLVIMENTO DAO
DATA ACCESS OBJECT

Introdução a Programação de Computadores - Prof. Jeangrei Veiga


36
PROGRAMAÇÃO JAVA WEB
Padrão DAO
Separa a lógica de acesso a dados da lógica do
negócio.
▪ A lógica de negócios fica isolada das diversas fontes de
dados que podemos utilizar.
▪ Podemos adicionar fontes de dados ou fazer
modificações nelas sem afetar a lógica do negócio.
▪ Assim, um DAO deve esconder todos os detalhes de
implementação de acesso a fontes de dados.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 37


PROGRAMAÇÃO JAVA WEB

DAO
Web Application
DB

DAO
Web Application DB
DAO

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 38


PROGRAMAÇÃO JAVA WEB
Padrão DAO
Em JAVA
▪ Persistência refere-se ao armazenamento não-volátil de
dados. Existem diversas tecnologias de persistência.
▪ Em Java há algumas tecnologias de persistência como:
JDBC, JDO, EJB CMP, TopLink, Hibernate, iBATIS, openJPA
e muitas outras.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 39


PROGRAMAÇÃO JAVA WEB
Padrão DAO
Em JAVA
▪ O padrão DAO é bastante útil para separar a lógica de
negócio das tecnologias de persistência.
▪ Com este padrão permitimos que estas tecnologias
possam ser substituídas ou atualizadas sem prejuízo ao
restante da aplicação.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 40


PROGRAMAÇÃO JAVA WEB
Padrão DAO
Abstração com DAO
▪ DAO abstrai a origem e o modo de obtenção / gravação
dos dados.
▪ O restante do sistema manipula os dados de forma
transparente, sem saber os detalhes da implementação.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 41


PROGRAMAÇÃO JAVA WEB
Padrão DAO
Abstração com DAO
▪ Isso ajuda muito em processos de migrações de fonte
de dados.
▪ O DAO ajuda a evitar um Mal design: Códigos de
programadores sendo acessados em vários pontos da
aplicação repetitivamente: código redundante, difícil
manutenção, difíceis possíveis migrações.

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 42


PROGRAMAÇÃO JAVA WEB
Padrão DAO
Estrutura de Implementação do DAO

“Implementação utilizando o Design Patters


Comportamental de Objeto Stratey, que define
uma família de algoritmos, encapsular cada uma
delas e torná-las intercambiáveis.
Strategy permite que o algoritmo varie
independentemente dos clientes que o utilizam.”

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 43


PROGRAMAÇÃO JAVA WEB
Padrão DAO
Exemplos:

MemberDAO MemberDAO MemberDAO MemberDAO

JDBC JDO Web Service XPath

Relational Java Data SOAP XML


Database Object envelope (Xindice)

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 44


PROGRAMAÇÃO JAVA WEB
ATIVIDADE
ATIVIDADE 10 – Criar um novo projeto utilizando as instruções que constam no pdf
5.Tutorial_ProjetoWeb-DAO .

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 45


PROGRAMAÇÃO JAVA WEB
ATIVIDADE
ATIVIDADE 10 – Criar um novo projeto utilizando as instruções que constam no pdf
5.Tutorial_ProjetoWeb-DAO.
Este projeto vai utilizar:
▪ JSP
▪ JSTL
▪ Java Bean
▪ Persistência em Lista
▪ O padrão CRUD (Create, Read, Update, Delete)
▪ O padrão de desenvolvimento DAO (Data Access Object). O Design Patterns
Comportamental Strategy, para implementar DAO.
▪ Programação em Camadas MVC (Model View Controller)

MV - VISIONNIT – INTRODUÇÃO A PROGRAMAÇÃO JAVA WEB - Prof. Jeangrei Veiga 46

Você também pode gostar