Buscar

10 - JSP parte-III

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação Servidor 
Sistemas web
Java Server Pages – JSP
Parte III
Ciclo de vida das JSPs
Requisição HTTP GET/POST
http://localhost/contexto/index.jsp
1.Localiza JSP
arquivo JSP
4. service()
classe Java 
HTTP html
tradutor JSP
Servidor Web/Container JSP
Código-fonte 
Java traduzido
Compilador 
javac
classe Java 
Servlet
2.Traduz em Servlet
3. Compila Servlet
JSP uso com JavaBeans
• Problemas na escrita de código Java e o elementos 
HTMl.
• O uso de JavaBeans reduz a quantidade de código 
Java na página.Java na página.
• Os JavaBeans ajudam a separar a apresentação e os 
componentes lógicos do aplicativo.
JavaBeans
• Os beans são classes Java escritas de acordo com uma
convenção.
• Um bean:
– deve ter um construtor sem argumentos.
– pode fornecer propriedades que permitam a personalização do
bean.
– deve definir métodos de obtenção (get) e configuração (set)
das propriedades existentes no bean.
– deve definir métodos de obtenção (get) e configuração (set)
das propriedades existentes no bean.
– o método get não deve ter parâmetros e deve retornar um tipo
primitivo ou objeto do tipo da propriedade.
– o método set deve receber um único parâmetro do tipo
primitivo ou objeto do tipo da propriedade e retornar void.
– podem definir métodos de negócios para fornecer
funcionalidade adicional.
Bean - exemplo
package pod;
public class ContaBean {
private float saldo; //propriedade saldo
public float getSaldo() {public float getSaldo() {
return saldo;
}
public void setSaldo(float saldo) {
this.saldo = saldo;
}
}
Definindo um Bean em JSP
• Os JavaBeans são definidos na JSP usando-se a tag
(elemento) <jsp:useBean>.
• Essa tag cria uma instância de um JavaBean e o associa
a um nome para uso na JSP.
definição:
<jsp:useBean id=“nome do bean” class=“classe do bean”
scope=“escopo”>scope=“escopo”>
• Nome do bean – nome definido para o bean.
• Classe do bean – classe que implementa o bean.
• Escopo – define o escopo da referência do bean.
JavaBean – valores de escopo
• page – disponível apenas nesta página.
• request – disponível para a requisição HTTP (a página
que recebeu a requisição e as páginas para onde a
requisição é encaminhada).
• session – duração da sessão do cliente (o bean pode
ser usado de uma requisição para outra).ser usado de uma requisição para outra).
• application – pode ser usado no contexto da aplicação
por qualquer outro componente no aplicativo Web.
JavaBean – instância
• O código abaixo cria uma instância do bean para uma
requisição corrente e associa ao nome definido.
<jsp:useBean id=“conta” class=“pod.Conta” scope=“request”/>
• Um exemplo de página que utiliza o bean
<jsp:useBean id="conta" class="pod.ContaBean" 
scope=“request“/>
<HTML>
<HEAD><TITLE>Consulta</TITLE></HEAD>
<BODY>
<B>Saldo: <%= conta.getSaldo()%> </B>
</BODY>
</HTML>
conta1.jsp
JSP/JavaBeans – tags propriedades
• Os atributos de um bean podem ser configuradas ou
obtidas a partir dos métodos set e get ou por tags
próprias. Aqui os atributos são conhecidos como
propriedades.
• As propriedades de um bean pode ser recuperadas
usando-se a tag (elemento) <jsp:getProperty e pode
ser configurada pela tag <jsp:setProperty na formaser configurada pela tag <jsp:setProperty na forma
abaixo:
<jsp:getProperty name=“nome do bean” property=“nome da
propriedade”/>
<jsp:setProperty name=“nome do bean” property=“nome da
propriedade” value=“valor para a propriedade” />
JSP/JavaBeans – jsp:setProperty
Exemplo – setProperty na definição do bean:
<jsp:useBean id="conta" class="pod.ContaBean" scope="request">
<jsp:setProperty name="conta" property="saldo" value="150.00"/>
</jsp:useBean>
<HTML>
<HEAD><TITLE>Consulta</TITLE></HEAD><HEAD><TITLE>Consulta</TITLE></HEAD>
<BODY>
<B>Saldo da conta: <%= conta.getSaldo()%> </B>
</BODY>
</HTML>
conta2.jsp
JSP/JavaBeans – jsp:setProperty
Exemplo – setProperty após a definição do bean, no corpo
do HTML:
<jsp:useBean id="conta" class="pod.ContaBean" scope="request“/>
<HTML>
<HEAD><TITLE>Consulta</TITLE></HEAD>
<BODY>
<jsp:setProperty name="conta" property="saldo" value=“200.00"/>
<B>Saldo da conta: <%= conta.getSaldo()%> </B>
</BODY>
</HTML>
conta3.jsp
JSP/JavaBeans – jsp:getProperty
Exemplo – getProperty:
<jsp:useBean id="conta" class="pod.ContaBean" scope="request“/>
<HTML>
<HEAD><TITLE>Consulta</TITLE></HEAD>
<BODY>
<B>Saldo da Conta: <jsp:getProperty name="conta" property="saldo“/> 
</B>
</BODY>
</HTML>
conta4.jsp
JSP/JavaBeans – jsp:setProperty
• As propriedades de um bean podem ser iniciadas a
partir de parâmetros da requisição HTTP. Isto é feito
utilizando o atributo param.
• Se o nome do parâmetro for igual ao nome da
propriedade param pode ser omitido.
<jsp:useBean id="conta" class="pod.ContaBean" scope="request“/><jsp:useBean id="conta" class="pod.ContaBean" scope="request“/>
<HTML>
<HEAD><TITLE>Consulta</TITLE></HEAD>
<BODY>
<jsp:setProperty name="conta" property="saldo" param=“pSaldo"/>
<B>Saldo da conta: <%= conta.getSaldo()%> </B>
</BODY>
</HTML>
conta5.jsp
Requisitção http: http://servidor/conta5.jsp?pSaldo=200.00
JSP/JavaBeans
• Exemplo com a classe ContaBancaria aqui denominada
de ContaBancariaBean, com uso dos métodos GET
<jsp:useBean id="conta" class=“classes.ContaBancariaBean" scope="request“/>
<FORM NAME="frm" METHOD="POST" ACTION="contaServlet">
<table>
<th><b>Cadastro de Contas</b></th>
<tr> <td> NUMERO CONTA: </td>
<td> <INPUT TYPE=TEXT NAME="vNum" VALUE=“<%= conta.getNumero() %>”></td>
</tr></tr>
<tr> <td> NOME CLIENTE: </td>
<td><INPUT TYPE=TEXT NAME="vNome" VALUE=“<%= conta.getNomeCliente()%>">
</td>
</tr>
<tr> <td> SALDO CONTA: </td>
<td> <INPUT TYPE=TEXT NAME="vSaldo" VALUE="<%= conta.getSaldo()%>">
</td>
</tr>
<tr> <td> <INPUT TYPE=SUBMIT VALUE="SALVAR"> </td>
</tr>
</table>
</FORM>
conta.jsp
JSP/JavaBeans
• Exemplo da classe ContaBancariaBean com ação JSP
<jsp:useBean id="conta" class=“classes.ContaBancariaBean" scope="request“/>
<FORM NAME="frm" METHOD="POST" ACTION="contaServlet">
<table>
<th><b>Cadastro de Contas</b></th>
<tr> <td> NUMERO CONTA: </td>
<td> <INPUT TYPE=TEXT NAME="vNum" 
VALUE="<jsp:getProperty name='conta' property='numero'/>“ > </td>
</tr>
<tr> <td> NOME CLIENTE: </td><tr> <td> NOME CLIENTE: </td>
<td><INPUT TYPE=TEXT NAME="vNome”
VALUE="<jsp:getProperty name='conta' property=nomeCliente'/>“ > </td>
</tr>
<tr> <td> SALDO CONTA: </td>
<td> <INPUT TYPE=TEXT NAME="vSaldo”
VALUE="<jsp:getProperty name='conta' property=‘saldo'/>“ > </td>
</tr>
<tr> <td> <INPUT TYPE=SUBMIT VALUE="SALVAR"> </td>
</tr>
</table>
</FORM>
conta.jsp
Serlvet/JavaBean/JSP/
• Exemplo abaixo demonstra a instanciação de um objeto da
classe ContaBancariaBean na Servlet e o envio desse objeto
para a página conta.jsp
• O objeto é passado de um código para o outro, como um
dos atributos do objeto request em uso pela Servlet.
• O controle de execução sai da Servlet e passa para a JSP
que por sua vez, irá gerar a saida HTML com as informações
do objeto, e enviar ao browser.do objeto, e enviar ao browser.
• O exemplo mostra apenas o método doPost com
implementação com dados fixos para o objeto.
protected void doPost(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException {
ContaBancariaBean cta = new ContaBancariaBean(4010,“Cliente1",1500);
request.setAttribute("conta", cta);
RequestDispatcher rd = request.getRequestDispatcher("conta.jsp");
rd.forward(request, response);
}
conta.jsp
Serlvet/JavaBean
protected void doPost(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException {
ContaBancariaBean objCta = new ContaBancariaBean(4010,“Jose Maria",1500);
request.setAttribute(“oConta", objCta);
RequestDispatcher rd = request.getRequestDispatcher("conta.jsp");
rd.forward(request, response);
}
objCta
numero=4010
cliente=“Jose Maria”
saldo=1500.00
request
oConta
Objeto da classe ContaBancariaBean Objeto da classe HttpServletRequest
JavaBean na JSP
<jsp:useBeanid=“oConta" class=“classes.ContaBancariaBean" scope="request“/>
• Existe dentro da estrutura do objeto request um atributo(objeto)
oConta da classe ContaBancáriaBean?
• Existindo, a página conta.jsp utiliza o objCta e pode preparar os
dados do objeto a ser enviado ao browser, em html.
• Caso não exista, a página conta.jsp irá criar um objeto da classe
ContaBancariaBean com valores iniciais.
objCta
numero=4010
cliente=“Jose Maria”
saldo=1500.00
request
oConta
Objeto da classe HttpServletRequest
conta.jsp (parte da página)

Outros materiais