java server pages

Transcrição

java server pages
UNIDADE III
JAVA SERVER PAGES
MODELO JSP
• Um dos principais objetivos da tecnologia J2EE é
fazer com que as tarefas sejam realizadas de forma
separada.
• Eliminando as dependências, componentes J2EE
tornam-se reutilizáveis, extensíveis e gerenciáveis.
• O modelo JSP observa essas características.
MODELO JSP
• Diferentemente da tecnologia Servlet, o JSP
separa a camada de apresentação da camada
lógica.
MODELO JSP
CICLO DE VIDA JSP
• O ciclo de vida JSP é pode ser dividido em sete
passos:
– 1. A primeira vez que um cliente faz uma requisição, o
container JSP carrega a página e a transforma em um
servlet. (jsp java)
– 2. O servlet é compilado (java class)
– 3. O servlet é carregado em memória
– 4. Uma instância do servlet é criada.
– 5. Quando a página é inicializada, o método
jspInit() é chamado.
CICLO DE VIDA JSP
• O ciclo de vida JSP é pode ser dividido em sete
passos:
– 6. Para todas as novas requisições, o método
jspService(...) é chamado.
– 7. Quando o servlet é retirado da memória, o método
jspDestroy() é chamado.
CICLO DE VIDA JSP
PRIMEIRA APLICAÇÃO JSP
<HTML>
<HEAD>
<TITLE>Formulário HTML</TITLE>
</HEAD>
<BODY>
<P>Digite o seu nome</P>
<form method=“GET”
action=“http://localhost:8080/reverso.jsp”>
<input type=“text” size=“20” name=“nome”>
<input type=“submit”>
</form>
</BODY>
</HTML>
PRIMEIRA APLICAÇÃO JSP
<%@ page language=“java” %>
<%-- Página JSP --%>
<HTML>
<HEAD>
<TITLE> Primeira Página JSP</TITLE>
</HEAD>
<BODY>
<% String seuNome =
request.getParameter(“nome”);
StringBuffer seuNomeReverso =
new StringBuffer(seuNome).reverse( );
out.println(“<P> Seu Nome “+ seuNome +
“lido de trás para frente é ”
+ seuNomeReverso); %>
</BODY>
</HTML>
OBJETOS IMPLÍCITOS
• Toda aplicação JSP pode acessar objetos java que
são criados automaticamente.
• Tipos de Objetos:
– application (contexto do servlet)
– pageContext (atributos da página)
– config (configuração do servlet)
– request (requisição recebida)
– response (resposta enviada)
OBJETOS IMPLÍCITOS
• Tipos de Objetos:
– session (sessão criada)
– out (resposta do cliente)
– page (representa uma instância do servlet)
– exception (representa os erros)
OBJETOS IMPLÍCITOS
OBJETOS IMPLÍCITOS
<HTML>
<BODY>
<h3>Informações do Servidor:</h3>
<%= application.getServerInfo() %>
<h3>Informações do Host:</h3>
<%= request.getRemoteHost() %>
<h3>Informações da Sessão:</h3>
<%= session.getId() %>
</BODY>
</HTML>
ELEMENTOS JSP
• São organizados em quatro grupos:
– Comentários
– Diretivas
– Scripting Elements
• Expressões
• Declarações
• Scriptlets
– Ações
COMENTÁRIOS
• Utilizados para comentar o código
• Não são processados pelo container JSP.
• Sintaxe:
<%-- Este é um comentário --%>
<%
//Este é outro comentário
%>
DIRETIVAS
• Utilizados para enviar mensagens para o container
JSP, afetando a estrutura do Servlet a ser gerado.
• Sintaxe
<%@ directiveType attributelist %>
directiveType: {include, page e taglib}
DIRETIVAS - INCLUDE
• Utilizado para incluir arquivos estáticos no
documento JSP.
• Sintaxe JSP
<%@ include file=“URL” %>
• Sintaxe XML
<jsp:directive.include file“URL”
%>
DIRETIVAS - INCLUDE
• Exemplo
<%@ include file=“Reverso.jsp” %>
<jsp:directive.include file=“Reverso.jsp” />
DIRETIVAS - PAGE
• Utilizado para descrever inúmeros atributos que
serão considerados durante a criação do Servlet,
tais como:
– Importação de pacotes;
– Tipo MIME de retorno;
– Etc.
• Sintaxe JSP
<%@ page attributelist %>
DIRETIVAS - PAGE
• Sintaxe XML
<jsp:directive.page attributeList />
• Exemplo
<%@ page import=“java.io.*, java.util.*” %>
<jsp:directive.page import=“java.io.*,
java.util.*” />
DIRETIVAS - TAGLIB
• Utilizado para incluir bibliotecas de tags.
• Sintaxe JSP
<%@ taglib uri=“URIForLibrary”
prefix=“tagPrefix” %>
• Sintaxe XML - Não possui
DIRETIVAS - TAGLIB
• Exemplo
<%@ taglib uri=“http://www.company.com/tags”
prefix=“public” %>
<public:loop>
....
</public:loop>
SCRIPTING ELEMENTS
• São fragmentos de código java inseridos em uma
página JSP.
• Consiste de várias declarações de variáveis, blocos
de códigos, etc.
• Está subdividido em três categorias:
– Expressões
– Declarações
– Scriptlets
EXPRESSÕES
• Insere o valor de um atributo ou a chamada de um
método em uma página JSP.
• Sintaxe JSP
<%= expressão %>
• Sintaxe XML
<jsp:expression>
...
</jsp:expression>
EXPRESSÕES
• Exemplo
<%= new Date() %>
<jsp:expression>new Date()</jsp:expression>
DECLARAÇÕES
• Utilizado para declarar variáveis e métodos a
serem utilizados em uma página JSP.
• Sintaxe JSP
<%! declaração %>
• Sintaxe XML
<jsp:declaration>
...
</jsp:declaration>
DECLARAÇÕES
• Exemplo
<%! int contador=0; %>
<jsp:declaration>int contador=0;
</jsp:declaration>
SCRIPTLETS
• Utilizado para incluir blocos de código java em
uma página JSP.
• Sintaxe JSP
<% código %>
• Sintaxe XML
<jsp:scriptlet>
...
</jsp:scriptlet>
SCRIPTLETS
• Exemplo
<%
for(int i=0; i<contador; i++)
out.println(i);
%>
<jsp:scriptlet>
for(int i=0; i<contador; i++)
out.println(i);
</jsp:scriptlet>
EXERCÍCIO
• 1- Escrever um documento JSP para receber o
login e a senha passado pelo usuário. Utilizar o
formulário criado no exercício anterior.
• 2- Utilizar um banco de dados que possua uma
Tabela Identificação e armazenar o login e
senha passados pelo usuário.
EXERCÍCIO
• 3- Criar um site para uma pizzaria virtual que possui
um formulário onde o usuário pode solicitar a compra
de pizzas. Os seguintes dados deverão ser passados
pelo usuário: nome do cliente, endereço do cliente,
tipos de entrega, sabor(es) da(s) pizza(s) e tamanho
da(s) pizza(s).
• Criar um documento JSP que receba a requisição das
pizzas, armazene os pedidos em um BD e retorne uma
resposta ao cliente, confirmando o recebimento do
pedido e o prazo para entrega.
• Ex: http://www.unama.br:8080/temp/etienne/index.htm
EXERCÍCIO
• Exemplo

Documentos relacionados

Servlet, JSP e Java Bean

Servlet, JSP e Java Bean Quando o botão btnsalvar do código acima for pressionado, o servlet ExemploServlet será automaticamente invocado no servidor e executado. Repare que o método do formulário é get, que corresponde ao...

Leia mais