JSP

Propaganda
Introdução à JSP
JavaServer Pages
Alcides Calsavara
Referências
• Professional JSP
Karl Avedal e outros
Wrox Press, May 2000
• JavaServer Pages
Hans Bergsten
O’Reilly, December 2000
Links
• SUN JSP
• Jakarta Group (TomCat Web Server)
• cetus JSP
Definição
JSP é uma tecnologia que permite a criação
de páginas web que exibem um conteúdo
gerado dinamicamente.
Uma página JSP usa tags XML e scriplets
escritos em Java para encapsular a lógica
que gera o conteúdo exibido pela página.
Mecanismo Básico
Navegador
Usuário fornece um valor
no formulário e pressiona
o botäo de submissão
Servidor
Envia requisição de uma página
JSP ao servidor, incluindo dados
do formulário
Interpreta JSP e usa
dados do formulário
para gerar a resposta
Resposta é exibida na
janela do navegador
TEMPO
Envia resposta ao navegador
contendo código HTML
Exemplo Simples
ExemploSimples.html
FORM HTML
ExemploSimples.jsp
ACTION
HTML + Java
ExemploSimples.html
<HTML>
<HEAD>
<TITLE> Exemplo Simples de JSP </TITLE>
</HEAD>
</BODY>
<P> Quantas vezes? </P>
<FORM METHOD="GET" ACTION= "ExemploSimples.jsp" >
<INPUT TYPE="TEXT" SIZE="2" NAME="numvezes">
<INPUT TYPE="SUBMIT">
</FORM>
</BODY>
</HTML>
ExemploSimples.jsp
<%@ page language = "java" %>
<HTML>
<HEAD>
<TITLE> Exemplo Simples de JSP </TITLE>
</HEAD>
<BODY>
<P>
<%
int numTimes = Integer.parseInt( request.getParameter( "numvezes" ) );
for (int i = 0; i < numTimes; i++) {
%>
janeiro<BR>
<%
}
%>
</P>
</BODY>
</HTML>
JSP e Servlets
Documentos JSP
Tradutor JSP
Documentos Comuns
Servelts compilados
Máquina Servlet
Servidor Web
Requisição HTTP
Resposta HTTP
Cliente
J2EE
Java 2 Enterprise Edition
CLIENTE
DADOS
LÓGICA
JDBC
XML/HTML
Tradutor
JSP
Applet
Servidor
Web
Máquina
Servlets
Applicação
Cliente
Beans
JavaMail
Banco de
Dados
Servidor
de Mail
JNDI
Serviço de
Diretório
RMI
Aplicação
Java
IIOP
Aplicação
CORBA
J2EE
•
•
•
•
•
Interação via HTTP com servidores Web
Suporte a sessões
Suporte a transação
Representação de dados como objetos
Disponibilidade das APIs de Java para
acesso a dados
• Flexibilidade na combinação de JSP e XML
para a produção de páginas dinâmicas
JSP versus CGI
• JSP mantém estado no servidor entre
sessões
• Cria uma nova thread para cada requisição
• Não precisa ser carregado toda vez, depois
de iniciado
• Executa em uma JVM previamente
carregada como uma extensão de um
servidor Web
JSP versus ASP
• JSPs são interpretados apenas uma vez (traduzidos
para byte-code) e reinterpretados somente quando
o arquivo é modificado, o que possibilita melhor
desempenho na média
• JSPs executam nos principais servidores Web
• JSPs permitem melhor separação entre código e
dados através de beans e bibliotecas de tags.
Scriplet gerando HTML
<%@page language = "java" %>
<HTML>
<HEAD>
<TITLE> Exemplo de Scriplet </TITLE>
</HEAD>
<BODY>
<H1> Exemplo de Scriptlet </H1>
<%
for (int i=0; i<10; i++)
{
out.print( "<b> Rodada numero: " + i + "</b>" );
out.print( "<p>" );
System.out.println( “Execucao ” + i );
}
%>
</BODY>
</HTML>
Expressões
• O símbolo “!” indica que a expressão é
avaliada somente uma vez, quando o servlet
é gerado.
• O símbolo “=” indica que a expressão deve
ser avaliada toda vez que a página for
acessada.
– o resultado da expressão é enviado para o
cliente ( corresponde ao comando out.print )
Exemplo de expressão
<%@page language = "java" %>
<HTML>
<HEAD>
<TITLE> Exemplo de Expressao </TITLE>
</HEAD>
<BODY>
<H1> Contador de acessos </H1>
<%! int i = 0; %>
<%
i++;
%>
Contagem de acesso: <%= "exatamente " + i + " vezes" %>
</BODY>
</HTML>
Diretiva page - exemplo
<%@ page language=“java”
import=“java.rmi.*,java.util.*”
session=“true” buffer=“12kb” autoFlush=“true”
info=“minha pagina preferida”
errorPage=“Error.jsp”
isErrorPage=“false”
isThreadSafe=“false” %>
<html>
<body>
<h1>exemplo de diretivas</h1>
<body>
</html>
Diretiva include
Permite a inclusão de um arquivo em um local específico
do arquivo JSP.
O arquivo incluído não pode ser outra página dinâmica.
Exemplo:
<% include file=“copyright.html” %>
Download