Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
É 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.
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.
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.*;
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
<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
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.
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>
</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:
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:
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