Sunteți pe pagina 1din 8

O que é JSP?

Publicado por Tutoriais Admin em 08/01/2013 - 68.354 visualizações

JavaServer Pages - JSP - é uma tecnologia baseada em Java que


simplifica o processo de desenvolvimento de sites da web
dinâmicos.Com JSP, os designers da web e programadores podem
rapidamente incorporar elementos dinâmicos em páginas da web,
utilizando Java embutido e algumas tags de marcação simples.Estas
tag(s) fornecem ao designer de HTML um meio de acessar dados e
lógica de negócio armazenados em objetos Java sem ter que dominar
as complexidades do desenvolvimento de aplicações.

Considere a JSP, como um tipo de linguagem de criação de script no


servidor, embora, como você verá mais tarde, ela opere de maneira
bem diferente por detrás dos panos.JavaServer Pages são arquivos
textos,normalmente com a extensão ".jsp"(mas é normalmente
possível configurar o container JSP para reconhecer extensões de
arquivos adicionais ou alternativas.), que substituem as páginas HTML
tradicionais.Os arquivos JSP contêm HTML junto com o código
embutido que permitem que o designer de páginas acessem dados do
código Java rodando no servidor.Quando a página é solicitada por um
usuário e processada pelo servidor HTTP (HyperText Transport
Protocol), a parte HTML da página é então transmitida.No entanto, as
partes de código das páginas são executadas no momento em que a
solicitação é recebida e o conteúdo dinâmico gerado por este código é
unido na página, antes de ser enviado para o usuário.Isto propicia
uma separação dos aspectos de apresentação HTML da página, da
lógica de programação contida no código.

Incorporar conteúdo dinâmico deve no final das contas envolver algum


tipo de programação para descrever como aquele conteúdo é
gerado.No entanto o código do programa tende a ser caro para criar e
manter, logo, minimizar a necessidade de programação é
freqüentemente um objetivo desejável.Combinar este objetivo com o
objetivo da SUN por um suporte robusto e repleto de recursos para
Java no servidor, um sistema modelo baseado em Java, JSP, foi um
resultado natural.

Introdução ao JSP
JSP é o acrônimo para Java Server Pages, uma linguagem criada pela SUN
gratuita, JSP é uma linguagem de script com especificação aberta que tem
como objetivo primário a geração de conteúdo dinâmico para páginas da
Internet. Podemos ao invés de utilizar HTML para desenvolver páginas Web
estáticas e sem funcionalidade, utilizar o JSP para criar dinamismo. É possível
escrever HTML com códigos JSP embutidos. Como o HTML é uma linguagem
estática, o JSP será o responsável por criar dinamismo. Por ser gratuita e
possuir especificação aberta possui diversos servidores que suportam a
linguagem, entre eles temos: Tomcat, GlassFish, JBoos, entre outros. O JSP
necessita de servidor para funcionar por ser uma linguagem Server-side script,
o usuário não consegue ver a codificação JSP, pois esta é convertida
diretamente pelo servidor, sendo apresentado ao usuário apenas codificação
HTML.

Uma pagina JSP possui extensão .jsp e consiste em uma página com
codificação HTML e com codificação Java, inserida entre as tag´s <% e %>,
denominada scriptlets e funcionando da seguinte forma: o servidor recebe uma
requisição para uma página JSP, interpreta esta página gerando a codificação
HTML e retorna ao cliente o resultado de sua solicitação. A página JSP que foi
interpretada pelo servidor não precisa ser compilada como aconteceria com um
servlet java por exemplo, esta tarefa é realizada em tempo real pelo servidor. É
necessário apenas desenvolver as páginas JSP e disponibilizá-las no Servlet
Container (Tomcat, por exemplo). O trabalho restante será realizado pelo
servidor que faz a compilação em tempo de uso transformando o jsp em
bytecode.

Assim, pode-se definir o JSP como uma tecnologia que provê uma maneira
simples e prática de desenvolver aplicações dinâmicas baseadas em web,
sendo independente de Plataforma de Sistema Operacional.

Tecnologia Client-side e Server-side


A internet foi concebida de forma a funcionar como cliente X servidor, ou seja,
temos um cliente que é o navegador web (browser) e o servidor http(web).
Existem, na tecnologia disponível para Web, duas classificações de tecnologia,
uma que funciona do lado do cliente ou Client-side e uma que funciona do lado
do servidor ou Server-side.

Client-side – lado do cliente


O cliente-side de uma aplicação é o local onde ela é processada, ou seja, no
caso da web, executa no navegador do cliente que é o responsável por
interagir com o Servidor HTTP. Entre as tecnologias cliente-side temos o HTML
que é executado no navegador, o CSS é outra tecnologia cliente que serve
para formatar paginas HTML, há ainda o javascript que permite desenvolver ou
ampliar o poder ao lado do cliente.

Server-side
Server-side, por sua vez, é o termo que representa o conjunto de tecnologias
em que os processos são interpretados/processados diretamente no servidor,
retornando como resultado a codificação client-side. Quando um cliente
web(navegador) acessa uma página web, uma solicitação é enviada ao
servidor através do protocolo http para que o servidor envie a resposta. O
Servidor além de rodar os aplicativos, o lado servidor também é um repositório
de páginas estáticas, que serão enviados ao cliente quando solicitado.
Supondo que haja uma página JSP, esta será processada pelo servidor e
encaminhado uma resposta ao cliente (Navegador).

Benefícios do JSP
O objetivo da linguagem JSP não é só o desenvolvimento de páginas
dinâmicas para Internet. Com ela é possível desenvolver sistemas inteiros para
Internet. Além disso, existem diversos benefícios em se utilizar a linguagem
JSP.

Custo
O JSP não tem custo de licença. Isto significa que pode ser utilizado em
qualquer máquina, para qualquer numero de usuários sem violar nenhum
direito autoral. Claro que isto depende do servidor escolhido, o Tomcat é um
servidor livre, licenciado sob a licença da Apache Foundation, de alta qualidade
e sem custo de licenciamento.

PrimeFaces
O PrimeFaces é um popular framework para projetos JSF que pode ser usado
para desenvolver rapidamente aplicações sofisticadas para empresas ou no
desenvolvimento de sites padrão. Tecnicamente, o PrimeFaces é uma
biblioteca de componentes de interface gráfica para as aplicações web
baseadas em JSF. Com ele é possível aumentar a produtividade do
desenvolvedor e a experiência do usuário com a aplicação, pois torna menos
árduo criar uma aplicação que seja exibida corretamente na maioria dos
dispositivos, sem contar que é muito flexível e personalizável, com uma grande
opção de componentes para os mais diversos fins.

Além deste, temos outros frameworks para a mesma finalidade, dentre eles o
IceFaces e o RichFaces, porém com menos popularidade, sem contar que o
PrimeFaces está em alta comparado aos seus concorrentes que estão cada
vez mais perdendo espaço. É possível comprovar isso com uma simples busca
no Google Trends, como mostra a Figura 3.

O que é PrimeFaces?
JSF fornece alguns componentes para os desenvolvedores, como campos de
entrada de dados, botões, tabelas de dados, etc.

A grande questão é que esses componentes são “puros”, simples, sem estilos
visuais.

Isso não é um problema, se você quer criar o layout do zero da sua aplicação e
de todos os componentes (ou ainda usar algum framework CSS para isso,
como Bootstrap).

Mas para quem busca alta produtividade e qualidade visual praticamente sem
trabalho extra, precisa conhecer o PrimeFaces.

PrimeFaces é uma bibliotecas de componentes ricos para aplicações criadas


com JavaServer Faces.

É a biblioteca de componentes para JSF mais popular no mundo!


Só pra ficar claro, PrimeFaces não é uma implementação da especificação do
JSF e também não substitui JSF. É um complemento!

A suit́ e inclui mais de 100 componentes ricos (bonitos e cheios de recursos),


como campos de entrada, botões, tabelas de dados, árvores, gráficos,
diálogos, etc.

Enterprise JavaBeans (EJB) é um componente da plataforma JEE que roda em


um container de um servidor de aplicação. Seu principal objetivo consiste em fornecer um
desenvolvimento rápido e simplificado de aplicações Java, com base em componentes
distribuídos, transacionais, seguros e portáveis. Atualmente, na versão 3.2 (liberada em
28/05/2015), o EJB tem seu futuro definido conjuntamente entre grandes empresas
como IBM, Oracle e HP, como também por uma vasta comunidade de programadores
numa rede mundial de colaboração sob o portal do JCP.
A grande mudança entre a versão 2.1 e a versão 3.0 se refere à introdução de anotações
Java, que facilitam o desenvolvimento, diminuindo a quantidade de código e o uso de
arquivos de configuração XML. A plataforma J2EE providencia algumas facilidades
dedicadas à camada de lógica de negócio e para o acesso a banco de dados. Através do
EJB o programador utiliza a infraestrutura do servidor de aplicação voltada para o
desenvolvimento de aplicações de missão crítica (de alta importância para a empresa) e
de aplicações empresariais em geral.

Perdoem-me pelo assunto genérico, mas tenho pesquisado há tempos em


diversos lugares e não encontrei nada que explicasse satisfatoriamente o que de
fato é um EJB e para que serve.

Eu sou adepto do uso de exemplos reais em tudo para um melhor entendimento e


encontrei poucos adeptos desse estilo nos tutoriais que vi. Geralmente dizem que
EJB é essencialmente um componente gerenciado que é criado, controlado e
destruído pelo container gereciador do J2EE que estiver sendo executado. Isso
não me diz nada ou muito pouco. Na verdade saí do texto com mais dúvidas que
antes.
Procurando mais, consegui entender que EJBs são módulos autônomos que
recebem requisições e retornam respostas, como um método qualquer, com a
vantagem de que podem ser invocados de aplicações externas. Está correto isso?

Um exemplo simples e prático seria um EJB que recebe o CPF de um cliente


consulta se ele está aprovado ou não para realizar uma compra com cheque.
Dentro desse EJB haveriam diversas regras de negócio (tempo de conta,
ocorrências nos órgãos protetores de crédito, etc), até mesmo consultas a outros
EJBs, com o objetivo de "puxar a ficha" do cliente e por fim retornar um SIM ou
NÃO para quem o invocou. Esse EJB poderia ser utilizado por qualquer client: um
aplicativo de celular, web ou desktop.
Introdução ao JavaServer Faces
(JSF)
O JSF (JavaServer Faces) é uma especificação para criar interfaces gráficas de
aplicações web. É um standard do mundo Java EE, atualmente na versão 2.2. A ideia
base é, após alguns anos de evolução (esta especificação nasceu em 2004), sistematizar
o que as interfaces web têm em comum, apoiando o programador nesse sentido. Com
relativa facilidade permite desenvolver interfaces web ricas e interativas (cujas
aplicações são denominadas RIA – Rich Internet Application).

Artigo originalmente publicado na Revista PROGRAMAR, edição n.º 43, Dezembro


2013 – pág. 34.
É server-side e totalmente orientada ao componente: para além de uma série de
componentes (abstrações dos componentes HTML), prevê validadores, gestão de
estado, conversores, modelo de eventos, etc. Entenda-se por componente (UI) um
‘pedaço’ reutilizável da interface (ex: dropdown box).

Além disso, o JSF considera capacidades de internacionalização, templating,


acessibilidade, navegação, Ajax, entre outras. É de alto nível, pelo que o modelo HTTP,
servlets e outros conceitos da página são implícitos.

Para clarificar melhor o enquadramento da especificação JSF, há que considerar


que o JSF não é:
 Uma framework ou biblioteca
 Uma alternativa ao JSP
O JSF é:
 Uma especificação/standard
 Uma alternativa ao Struts (embora com objetivos e filosofias diferentes)
Sendo o JSF “apenas” uma especificação, as suas duas implementações mais comuns
(essas sim, as frameworks) são o Apache MyFaces e o Oracle Mojarra. Tanto o JSF
como o Struts pertencem ao mundo Java e ambos apoiam o desenvolvimento de
interfaces gráficas web. A maior diferença é que o JSF foi pensado para aplicações e
o Struts para sites. Apesar do JSF poder servir para websites, esse não é o seu uso mais
comum (exceto quando se tratam de sites muito orientados à tarefa, com necessidades
de componentes ricos e variados e diversas interações Ajax).

Model-View-Controller (MVC)
JSF é baseado no padrão de projeto MVC (Model-View-Controller), o que torna
o desenvolvimento de sistemas menos complicado.

O padrão MVC separa o sistema em três responsabilidades: modelo,


visualização e controle.

O modelo é responsável por representar os objetos de negócio, manter o


estado da aplicação e fornecer ao controlador o acesso aos dados.

A visualização é responsável pela interface do usuário. Ela que define a forma


como os dados são apresentados e encaminha as ações do usuário para o
controlador.

O controlador é responsável por ligar o modelo e a visualização, interpretando


as solicitações do usuário, traduzindo para uma operação no modelo (onde são
realizadas efetivamente as mudanças no sistema) e retornando a visualização
adequada à solicitação.

JavaServer Faces (JSF) é uma especificação Java para a construção de interfaces de


usuário baseadas em componentes para aplicações web. Possui um modelo de
programação dirigido a eventos, abstraindo os detalhes da manipulação dos eventos e
organização dos componentes, permitindo que o programador se concentre na lógica da
aplicação.
Foi formalizada como um padrão através do Java Community Process e faz parte da Java
Platform, Enterprise Edition.
JSF 2 utiliza Facelets como seu sistema de template padrão. Outras tecnologias da
camada de visão, como XUL também podem ser empregadas. Em contraste, JSF 1.x
utiliza JavaServer Pages (JSP) como seu sistema de template padrão.
O JavaServer Faces ganhou expressão na versão 1.1 quando implementado pela
comunidade utilizando a especificação 127 [1] do Java Community Process [2],
evidenciando maturidade e segurança.
Hoje ele está na versão 2.0 da especificação 252 [3] do JCP. A fundação Apache vem
realizando esforços na implementação da especificação através do projeto MyFaces. O
reconhecimento do trabalho é visto por diversas empresas, tanto é que a Oracle doou os
fontes do ADF Faces, conjunto de mais de 100 componentes JSF, para o projeto MyFaces
que o denominará de Trinidad.
O JSF é atualmente considerado pela comunidade Java como a última palavra em termos
de desenvolvimento de aplicações Web utilizando Java, resultado da experiência e
maturidade adquiridas com o JSP/Servlet (Model1), Model2 (MVC) e Struts.

 JSF 2.2 (16/04/2013) - JSF 2.2 introduziu novos conceitos como visões sem estado, o
fluxo de página e a capacidade de criar contratos de recursos portáteis.[4]
 JSF 2.1 (22/10/2010) - Versão de correção da versão 2.0. Apenas uma quantidade
muito menor de mudanças de especificação.[5][6]
 JSF 2.0 (28/06/2009) - Maior versão para facilidade de uso, funcionalidade melhorada
e desempenho. Coincide com Java EE 6.
 JSF 1.2 (11/05/2006) - Muitas melhorias nos sistemas centrais e API. Coincide
com Java EE 5. Adoção inicial em Java EE.
 JSF 1.1 (27/05/2004) - Versão de correção de bugs. Não há mudanças de
especificação.
 JSF 1.0 (11/03/2004) - Especificação inicial liberada.

S-ar putea să vă placă și