JSP - OoCities

Propaganda
JSP
Segundo Semestre – 2008
Professor Glaucio Bianchini
Material em http://br.geocities.com/glauciobianchini
E-Mail : [email protected]
O Ambiente de Desenvolvimento
• Conceito Apache/Tomcat
O software Tomcat, desenvolvido pela Fundação
Apache, permite a execução de aplicações para
web. Sua principal característica técnica é estar
centrada na linguagem de programação Java,
mais especificamente nas tecnologias de
Servlets e de Java Server Pages (JSP). Esta
abordagem rivaliza, por exemplo, com a usada
pela Microsoft com o ASP (baseada na
linguagem Visual Basic).
A Fundação Apache, mais conhecida pelo seu servidor
web de mesmo nome, permite, como no caso do
servidor Apache, que o Tomcat seja usado livremente,
seja para fins comerciais ou não.
O Tomcat está escrito em Java e, por isso, necessita
que a versão Java 2 Standard Edition (J2SE) esteja
instalada no mesmo computador onde ele será
executado. No entanto, não basta ter a versão runtime
de Java instalada, pois o Tomcat necessita compilar (e
não apenas executar) programas escritos em Java. O
projeto Jakarta da Fundação Apache, do qual o
subprojeto Tomcat é o representante mais ilustre, tem
como objetivo o desenvolvimento de soluções código
aberto baseadas na plataforma Java.
• O desenvolvimento de uma típica aplicação web a ser executada
pelo Tomcat implica no domínio das seguintes linguagens:
•
•
•
•
Java
Todos os algoritmos da aplicação devem ser escritos em Java.
HTML
A interface da aplicação, isto é, aquilo que o usuário vê em sua tela,
é construída na forma de páginas escritas em HTML e visualizadas
através do browser do usuário. Esta tarefa normalmente é delegada
ao web designer.
• XML
• Qualquer aspecto relacionado à configuração da aplicação deve ser
expresso por meio da linguagem XML em um arquivo chamado
web.xml. Os dados de configuração podem ser usados tanto pelo
Tomcat como pela aplicação.
Instalação do Ambiente e
Funcionalidade da JSP
• Abaixo segue uma relação dos endereços
web onde poderemos encontrar os
arquivos que utilizaremos neste semestre:
• J2SE = http://java.sun.com/j2se/1.5
• NetBeans = http://www.netbeans.org
• J2EE = http://java.sun.com/j2ee/1.4
Funcionamento da JSP
• Nasceu para simplificar a criação de páginas WEB
Dinâmicas, assim como o PHP visto anteriormente;
• Também como no PHP, o cliente faz uma requisição da
página através de uma página em JSP que também
será processada pelo SERVIDOR.
• Se for a primeira vez, esta página JSP é transformada
em um programa JAVA (chamado de SERVLET) que
será compilado e vai gerar um bytecode (chamado de
.class), e só a partir deste será gerada uma página
HTML que será enviada ao browser do cliente. A partir
da segunda vez que esta página é acessada só será
verificado se houveram mudanças ou não. Se não
houveram mudanças, o bytecode é chamado para gerar
o HTML somente.
• A JSP se utiliza da linguagem JAVA como
base, tornando-se assim uma linguagem
muito mais flexível e robusta que outras
plataformas.
Passos da Instalação dos programas
• Passo 1 – Instalando J2SE 5.0 – é o ambiente
JAVA, ele quem irá compilar nossas páginas
JSP. Faça o download em
http://java.sun.com/j2se/1.5 . Localize nesta
página o download do JDK 5.0 e não pegue a
versão que tenha o NETBEANS integrado,
usaremos um NETBEANS diferente. A
instalação não requer nenhum segredo, siga a
instalação padrão.
• Passo 2 – Instalando a J2EE 1.4 – Para
aplicações distribuídas necessitamos do
Application Server. Utilizaremos Sun Java
System Application Server Platform Edition 8.
Pode ser encontrado em
http://java.sun.com/j2ee/1.4. Basta seguir a
instalação padrão e quando chegar na janela
onde se pede usuário e senha, criaremos um
usuário e senha padrões para podermos
trabalhar. Crie usuário ADMIN e senha
ADMINADMIN.
• Passo 3 – Um editor gratuíto muito bom –
vá até o site
http://www.download.com/NetBeansIDE/3000-2212_4-10628055.html?tag=lst0-1 e baixe o netbeans IDE, é a última
versão.
• Passo 4 – Baixe e instale o TOMCAT, que
pode ser encontrado em
http://tomcat.apache.org , pegue a versão
5.x, depois clique em Windows Service
Installer. Siga a instalação padrão, e
quando for criar usuário e senha, também
crie como admin (usuário) e
adminadmin(senha).
• Passo 5 – Testando a Configuração - Reinicie seu computador e
execute o NetBeans. Crie uma pasta em seu computador chamada
de projetos por exemplo, onde colocaremos todos nossos projetos.
• De volta no NetBeans, no menu principal, execute File, New
Project, em Categories selecione WEB e do lado de Projects,
selecione WEB APPLICATION. Pressione o botão Next em seguida.
• Em Project Name, digite testeWeb, clique no botão BROWSE e
selecione sua pasta criada de projetos.
• Deixe Source Structure como padrão para Java BluePrints, context
path será o nome do seu projeto seguido de barra, ex : /testeWeb .
Em server, colocaremos o TOMCAT que será o utilizado por nós e
por último a versão do J2EE, se queremos a versão 1.4 ou 1.3
• Clique em FINISH e deixe o NetBeans criar a estrutura do projeto.
Será montado um arquivo padrão chamado index.jsp
• Acesse: http://localhost:8080 ou
http://127.0.0.1:8080, aparecerá uma tela
de administração do sistema.
Exemplo de um SERVLET
•
package web;
•
•
import java.io.*;
import javax.servlet.*;
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
public class PrimeiroServlet extends GenericServlet {
public void service(ServletRequest req, ServletResponse res)
throws IOException, ServletException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Meu Primeiro Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("Teste do meu primeiro servlet!");
out.println("</body>");
out.println(“</html>”);
}
}
Compilando o SERVLET
• Como podemos ver no código anterior, o nosso
PrimeiroServlet nada mais é do que uma classe
Java que estende a
classejavax.servlet.GenericServlet.
GenericServlet é uma classe abstrata básica
que implementa a interface javax.servlet.Servlet
e define o método abstrato service( ),
que deve ser implementado por suas
subclasses, para definir o código de execução
do serviço do servlet.
• Para compilarmos o código, precisamos incluir
no classpath o arquivo servlet-api.jar que fica no
diretório TOMCAT\common\lib\. Uma vez
incluído, agora sim podemos compilar o código.
• javac -classpath C:\jakarta-tomcat5.0.16\common\lib\servlet-api.jar
web\PrimeiroServlet.java
• Um arquivo .class será gerado normalmente,
como em qualquer classe java compilada.
Configurando o SERVLET
• Agora que já temos a classe servlet compilada, podemos colocar o
servlet pra funcionar no servidor web. A esta tarefa, damos o nome
de deploy.
• O deploy se dá da seguinte maneira: primeiro devemos criar um
diretório com o nome da nossa aplicação, por exemplo curso. Este
diretório deve ficar dentro do diretório TOMCAT\webapps\.
• Cada diretório dentro de webapps é um aplicativo web diferente.
Um aplicativo pode conter dezenas de Servlets e outros recursos,
como JSP, HTML, etc. Os recursos como JSP, HTML,
imagens e outros ficam localizados na pasta raiz do aplicativo ou
em sub-pastas. Dentro do diretório curso devemos criar outros
diretórios, seguindo a estrutura abaixo:
O diretório WEB-INF vai conter os arquivos de
configuração da sua aplicação e os arquivos de deploy.
O diretório classes deve conter as
classes do seu aplicativo. No diretório lib vão os jars
(libs) da sua aplicação. As suas classes, ao invés de
desagrupadas, poderiam estar empacotadas em um jar
e ir neste diretório também. Os arquivos como
imagens, HTML e outros devem ir no diretório raiz,
curso.
Tendo colocado o arquivo PrimeiroServlet.class, dentro de curso\classes\web\,
agora devemos criar um arquivo de configuração para ele, o chamado
deployment descriptor, ou apenas web.xml.
O arquivo web.xml é um xml que descreve as configurações de cada aplicação
web do Web Container, e contém informações dos Servlets da aplicação e outras
configurações. Ele deve ser criado no diretório WEB-INF.
O Arquivo web.xml
• O arquivo web.xml serve como um descritor das funcionalidades e
caracteristicas da sua aplicação. Ele é um arquivo XML
descrevendo os Servlets, JSPs (que nada são alem de Servlets),
EJBs e outros componentes que fazem parte da sua aplicação.
Alem disso, fornece parametros de inicialização e controles de
segurança para o container (os quais você deseja que o servidor
reforce) e tambem para sua aplicação.
Enfim, o web.xml é um documento que define tudo que o servidor
precisa conhecer sobre sua aplicação. Exceto, claro, o caminho do
contexto (context path) o qual é definido pelo adminstrador do
sistema (no arquivo TOMCAT_HOME/conf/server.xml) quando a
aplicação for divulgada.
• Os arquivos XML também são marcados por
tags. Essa tags podem ser definidas por você
mesmo, e não apenas usarem tags prédefinidas, como no HTML. As tags definem a
estruturação dos dados. O arquivo web.xml
dever ser escrito usando as tags já definidas
pela especificação dos Servlets da J2EE.
•
<?xml version="1.0" encoding="ISO-8859-1"?>
•
•
•
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
•
•
•
<web-app>
<description>Aplicação do Curso de Java</description>
<display-name>Curso de Java</display-name>
•
•
•
•
<servlet>
<servlet-name>PrimeiroServlet</servlet-name>
<servlet-class>web.PrimeiroServlet</servlet-class>
</servlet>
•
•
•
•
<servlet-mapping>
<servlet-name>PrimeiroServlet</servlet-name>
<url-pattern>/PrimeiroServlet</url-pattern>
</servlet-mapping>
•
</web-app>
Executando o SERVLET
• Finalmente podemos executar o nosso Primeiro
Servlet, que apenas vai gerar uma simples
mensagem na tela do navegador.
• Após termos configurado o web.xml e
disponibilizado os arquivos corretamente,
devemos reiniciar o Tomcat.
• Agora, então, podemos chamar, ou solicitar, o
nosso Primeiro Servlet. Para isso, abra um
navegador e digite a seguinte URL:
• http://localhost:8080/curso/PrimeiroServlet
Tags de Diretivas
• São utilizadas para enviar informações especiais sobre
a página JSP quando esta for transformada em um
servlet. São divididas em três tipos :
• @include = utilizada para incorporar os códigos de um
arquivo padrão (HTML,JSP,TXT) na página corrente;
• @page = traz informações sobre a página JSP como
tipo, as bibliotecas que serão importadas, a linguagem
da página e etc.;
• @taglib = serve para habilitar uma biblioteca de tags
personalizadas.
• Sintaxe : <%@ %>
Elementos de Criação de Scripts
• Tags de Declaração e Tags de Expressão
= usadas para definir atributos ou
métodos. São úteis quando testamos um
código que futuramente se tornará um
bean. É uma tag Java pura.
• Sintaxe = <%! %> - para Tags Declaração
• Sintaxe = <%= %> - para Tags de
Expressão
• Tags de Scriplets = utilizadas para escrever
trechos de código Java dentro da página JSP.
Serve para otimizar a linguagem HTML padrão,
mesclando os dois ambientes.
• Sintaxe = <% %>
• Tags de Comentário = utilizadas pelo
desenvolvedor para documentar determinados
trechos de código, não serão enviadas para o
arquivo final.
• Sintaxe = <jsp: />
Download