Você está na página 1de 9

TECNOLOGIA WEB

JAVA SERVER PAGE

SEUS PADRÕES E DIRETIVAS

Aluno: Germanio da Silva Q. Bittencourt

Professor: Francélio Osório

Disciplina: Programação Orientada a Objetos


Objetivo deste artigo:

Entender a tecnologia JAVA SERVER PAGES

Compreender os padrões do JSP e suas DIRETIVAS


JAVA SERVER PAGE SEUS PADRÕES E DIRETIVAS

Antes de nós abordarmos a tecnologia JSP, é preciso que compreendamos um pouco sobre a plataforma JEE
e suas APIs, em especial os SERVLETS.

A primeira coisa a ser empregado é buscar o entendimento acerca do que são aplicações JEE, entender como
seus componentes são agrupados para compor camadas predefinidas pelo modelo de arquitetura proposto e suas
especificações.

JEE (Java Enterprise Edition) ou Java Edição Empresarial pode ser tomada como uma especificação que
define um modelo completo para a construção de aplicações distribuídas, baseadas em componentes e
multicamadas. Ela estabelece regras a serem observadas por pessoas e empresas, também prescreve, por exemplo
uma padronização a ser observada para construir os componentes, além de definir um conjunto de serviços e APIs.
JEE não é construída para ser executada em uma maquina isolada. Ela tende a envolver a comunicação entre várias
máquinas, cada uma desempenhando um papel diferente seguindo os padrões cliente servidor e ambiente
organizacional ou requisições e respostas do meio envolvido. A figura 1.1 mostra as multicamadas que compões uma
aplicação JEE.

Figura 1.1 – Camadas de uma aplicação JEE

TECNOLOGIAS USADAS EM JSP

É preciso manipular uma grande quantidade de tecnologias durante o desenvolvimento de uma aplicação
JSP, incluindo serviços e bibliotecas usadas durante a construção e a execução de seus componentes.
Falaremos um pouco sobre APIs (Application Programming Interface) ou Interface de Programação de Aplicativos, é
um conjunto de classes e métodos já criados pronto para ser usado pelo desenvolvedor na sua aplicação, e também
serve de documentação para que o programador possa buscar além dos métodos também os parâmetros que fora
usados.

Principais APIs usadas em JSP

Podemos descrever os SERVLETS, que fazem parte do pacote JAVAX 1 utilizados em aplicações Java como
sendo a principal API usada em JSP, pois é dela que sai as requisições feitas pelos cliente no servidor. Para entender
melhor, os servlets são pequenos programas escritos em Java que rodam dentro de um servidor web e que oferece
infra-estrutura de software necessária, e atendem a requisições de aplicações cliente para prestar algum tipo de
serviço, podemos então caracterizar como aplicações servidoras.

1
Um conteudo mais aprofundado nos pacotes java.lang java.servlet javax.servlet.jsp javax.servlet.http pode ser
encontrado no seguinte endereço http://tomcat.apache.org/tomcat-4.1-doc/servletapi/
Falaremos sobre os JavaBeans, como sendo componentes que podem ser vinculados facilmente a outros
componentes para formar novas aplicações. Ou seja, usando ferramentas construtor JavaBeans, podemos combinar
estes componentes em aplicativos independentes de plataforma. Essa API é composta basicamente de três
elementos que são: propriedades, métodos e construtores.

O JavaServer Pages (JSP) é uma tecnologia utilizada no desenvolvimento de aplicações para Web, essa
tecnologia utiliza linguagem Java que é compilada e interpretada, tornando a sua execução muito mais rápida do que
a maioria das demais opções (que são apenas interpretadas) é altamente rica no que diz respeito a suporte de
ambientes em redes, representando mais uma tecnologia que compõe a plataforma JEE.

Diferentemente da tecnologia Java Servlet, o JSP separa a camada de apresentação da camada


lógica. Quando estudamos os servlets podemos perceber que são apenas classes Java que podem conter código
HTML embutido para produzeir uma resposta no formato da página que será mostrada pelo navegador. Na verdade
toda página JSP é convertida em um servlet pelo contêiner web (ambiente do JEE) logo na primeira vez que ela é
requisitada. A figura 1.2 serve de esboço para melhor entender.

Tags JSP tratam HTML, enquanto que JavaBeans definem a lógica da aplicação. Veremos um pequeno
programa construído para demonstrar o código Java no HTML da página, observe o arquivo índex.jsp no seguinte
código 1.1 – índex.jsp

<%@page import="java.util.*,java.text.*"%>

<html>
<head>
<title>Projeto</title>
</head>
<body>
<h3>Olá mundo com JSP!</h3>
<%
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date agora = new Date();
out.println(sdf.format(agora));
sdf = new SimpleDateFormat("HH:mm:ss");
out.println(sdf.format(agora));
%>
</body>
</html>

Observe o emprego das classes importadas no inicio da primeira linha. Toda página JSP importa classes que podemos
chamar de pacotes, são eles:

java.lang.*;
java.servlet.*;
javax.servlet.jsp.*;
javax.servlet.http.*;

PADRÕES E DIRETIVAS DO JSP

São eles responsável pelo ciclo de vida de uma aplicação JSP, em resumo destacaremos as ações padrões do
JSP (jsp:useBean, jsp:setPropert, jsp:getPropert, jsp:include), bem como as diretivas JSP (include, page). Estas ações
são utilizadas para transferir (temporariamente) uma requisição para outra página JSP.

JSP:useBean
Toda classe Java que possui atributos private e acessor methods (get|set) é chamado de Java Bean. É
utilizada para incluir javabeans (Classes Java) em uma página JSP.

Exemplo de código:
<jsp:useBean id=“beanName”
class=“com.TaxBean”
scope=“page|request|session|application
” />
JSP:setPropert

Utilizado para definir os valores dos atributos do JavaBean, ou seja,para alterar uma propriedade.
Exemplo de código:

<jsp:setProperty name=“beanName”
property=“*”|”name” />
JSP:getPropert

Utilizado para retornar os valores dos atributos do JavaBean.


Exemplo de código:

<jsp:getProperty name=“beanName”
property=”name” / >

Diretiva JSP:include

A diretiva include permite inserir um arquivo texto ou código em uma página JSP. Ao contrário das diretivas
de página (Page Directive), a diretiva include pode ser usada em qualquer lugar da página e quantas vezes forem
necessárias. Em suma utilizados para enviar mensagens para o container JSP, afetando a estrutura do Servlet a ser
gerado.

Exemplo de código
<%@ include file="arquivo.jsp" %>

Sintaxe XML
<jsp:directive.include file“URL” %>

Diretiva JSP:Page
É utilizada para descrever inúmeros atributos que serão considerados durante a criação do Servlet, tais
como: Importação de pacotes.
Exemplo de código

<%@ page import=“java.io.*, java.util.*” %>


<jsp:directive.page import=“java.io.*,
java.util.*” />

Funcionamento destas tecnologias no lado do servidor

Um servidor JEE tabém é conhecido como contêiner web, uma vez que deverá abrigar as aplicações e
oferecer uma arquitetura viável, ou seja, condições para que elas possam ser executadas.

Este modelo de programação é flexível o suficiente para permitir o desenvolvimento de aplicações que suportem
diferentes tipos de clientes. Um cliente pode ser uma máquina ou um conjunto de máquinas que se conectam na
aplicação e fazem uso de suas funcionalidades. A figura 1.3 oferece uma visão para melhor entendermos o
comportamento dos componentes que estão presentes no desenvolvimento de uma aplicação JEE.

Figura 1.3 – Arquitetura quanto aos componentes web

O uso de JavaBeans em uma página JSP envolve as actions <jsp:useBean>, <jsp:setProperty> e


<jsp:getProperty>.

O primeiro passo para usar um Bean em uma página JSP é criá-lo. Observemos o código a seguir:
<jsp:useBean id="cliente" class="estudos.Cliente" scope="page" />
<html>
<head><title>Usando JavaBeans</title></head>
<body>

<!- Define o valor "Osmar J. Silva" para a propriedade "nome"


do Bean "cliente" -->

<jsp:setProperty name="cliente" property="nome" value="Francelio Osorio" />


<!- Define o valor "Francelio Osorio" para a propriedade "nome"
do Bean "cliente" -->

<p>O nome do cliente é: <jsp:getProperty name="cliente" property="nome" /></p>

</body>
</html>
Aqui nós usamos a action <jsp:useBean> para instanciar uma cópia de um JavaBean chamado Cliente que está em
um pacote chamado estudos. Usamos o atributo id para definir que o Bean será acessado pelo nome de cliente. O
atributo scope="page" define que o Bean poderá ser acessado em qualquer lugar da página.

Aqui nós estamos assumindo que você criou um Bean que contém uma variável privada do tipo String chamada
"nome" e que este Bean contém um método público chamado setNome que aceita uma String como argumento.
Sendo assim, o nome do cliente pode ser definido da seguinte forma:

<jsp:setProperty name="cliente" property="nome" value="Francelio Osorio" />

Veja que a propriedade name da action <jsp:setProperty> identifica o Bean. A propriedade property
identifica a propriedade do Bean que estamos acessando (na verdade o que temos aqui é uma chamada ao método
setNome do Bean) e a propriedade value serve para fornecer o novo valor para a propriedade nome do Bean.

Para obter o valor de uma das propriedades do Bean nós usamos a action <jsp:getProperty>. Veja:

<jsp:getProperty name="cliente" property="nome" />

Aqui nós usamos a propriedade name para identificar o Bean e a propriedade property para identificar a
propriedade do Bean que estamos acessando (na verdade o que temos aqui é uma chamada ao método getNome do
Bean).
REFERENCIAS

LIMA, João Paulo: Administração de Redes Linux, Goiânia Goiás: Terra, 2003

http://java.sun.com/reference/api/ em 09/03/2011

http://pt.wikipedia.org/wiki/API em 09/03/2011

http://download.oracle.com/javaee/6/api/ em 09/03/2011

http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138795.html em 10/03/11

http://tomcat.apache.org/tomcat-4.1-doc/servletapi/em10/03/2011

http://www.arquivodecodigos.net/dicas/jsp-java-server-pages-usando-javabeans-em-paginas-jsp-385.html
em 10/03/2011

http://www.oracle.com/technetwork/java/jsp-138432.html em 10/03/2011

http://pt.wikipedia.org/wiki/JavaServer_Pages em 11/03/11

http://www.arquivodecodigos.net/arquivo/tutoriais/jsp/desenvolvendo_jsp_2_8.php em 11/03/11

Você também pode gostar