AULA 03 – JSP
visão geral sobre páginas JSP
Conhecer o ciclo de vida de páginas JSP
Compreender a sintaxe e a semântica das
páginas JSP
Objetivos
O que é JSP?
JavaServer Pages (JSP) é uma tecnologia
baseada em servlet usada na camada
WEB para apresentar conteúdo dinâmico
e estático. Ela é baseada em texto e
contém, em sua maioria, modelo de texto
em HTML misturado com tags que
especificam conteúdo dinâmico.
Porque JSP?
• O conteúdo HTML não estará embutido dentro de
código em Java. Isto torna mais fácil sua manutenção.
• JSP são familiares para qualquer um com
conhecimento de HTML isto torna fácil o
desenvolvimento de páginas WEB.
• JSP têm suporte interno para o uso de componentes
de software reusáveis (JavaBeans).
• Promove separação de apresentação e lógica de
negócios também.
Ciclo de Vida
Ciclo de vida controlado pelo conteiner
• Método init – Chamado pelo conteiner do servlet
uma única vez.
• Método service – Permite responder a uma
solicitação do cliente.
• Método destroy – Chamado quando um servlet é
destruído pelo conteiner.
Ciclo de Vida
Ciclo de Vida
Elementos e Modelo de Dados
Componentes de todas JavaServer Pages podem ser
qualificados em duas categorias gerais:
Elementos e Modelo de dados.
Elementos são informação produzida dinamicamente.
Modelo de Dados são informação estática que são
responsáveis pela apresentação.
Mão na massa
JSP Exemplo
<HTML>
<TITLE>Welcome</TITLE>
<BODY>
<H1>Greetings!</H1><br>
Thank you for accessing our site. <br>
The time is now <%= new java.util.Date()%>
</BODY>
</HTML>
Comentários
Comentários HTML
<!-- não servem para comentar JSP o texto é ignorado
pelo browser mas não pelo conteiner -->
Comentários JSP
<%-- Texto, código Java, e HTML são ignorados pelo
servidor --%>
Pode-se também usar comentários Java quando dentro
de scriptlets, expressões ou declarações:
<% código JSP ...
/* comentário de varias linhas */
// comentário de linha
... código JSP %>
• Utilize <% para ter <% na saída.
• Todos os outro textos não específicos a JSP
são passados para a saída da página
Elementos de Scripting
Scriptlets
Expressões
Declarações
Scriptlets
Proporcionam uma maneira de inserir diretamente pedaços de
instruções Java em diferentes partes do modelo de dados e tem a
seguinte forma:
São blocos de código que são executados sempre que uma
página JSP é processada
Correspondem a inserção de seqüências de instruções
no método _jspService() do servlet gerado
Sintaxe: <% Instruções Java; %>
Definir instruções Java entre <% e %> é o mesmo que estar codificando
dentro de um método.
Scriptlets
Método println
<html>
<head>
<title>scriplets exemplo 1</title>
</head>
<body>
<% String userName="Samuka";
out.println("<br /><br /> Nome do usuário: <b>" + userName + "</b>");
%>
</body>
</html>
Scriptlets
Comando for em scriptlet
<html>
<head>
<title>scriplets exemplo 1</title>
</head>
<body>
<% for (int i=0; i < 10; i++){ %>
Esta linha será impressa 10 vezes
<% } %>
</body>
</html>
Scriptlets
Comando for em scriptlet
<%! String [] nomes = {"Samuka","Aline","Clara", "José", "Helem" }; %>
<html>
<head>
<title>Página JSP</title>
</head>
<body bgcolor="#FFFFFF"><h1>Lista de Nomes</h1>
<table>
<th>Nome<th>
<%for(int i=0; i<nomes.length; i++){%>
<tr><td> <%= "nome " + (i + 1) + " " + nomes[i] %> </td></tr>
<% } %>
</table>
</body>
</html
Scriptlets
Saída no browser
Expressões
Expressões fornecem uma maneira de inserir valores Java diretamente
na saída. Quando processadas, retornam um valor que é inserido na
página no lugar da expressão
Elas tem a seguinte forma:
<%= Expressão Java %>
Equivale a out.print(expressão)
Não terminar em ponto-e-vírgula
Todos os valores resultantes das expressões são
convertidos em String antes de serem redirecionados à saída padrão
Expressões
<html>
<head>
<title>Página JSP</title>
</head>
<body bgcolor="#FFFFFF">
<%="Número aleatório: " + (int)(Math.random()*10) %>
</body>
</html>
Declarações
Permitem a declaração de variáveis e métodos em uma página e são
úteis para declarar:
Variáveis e métodos de instância (pertencentes ao servlet)
variáveis e métodos estáticos (pertencentes à classe do servlet)
Elas possuem o seguinte formato:
<%! Código Java %>
Declarações
<%! String nome = “Samuel”;
String sobrenome = “Ribeiro”;
%>
<html>
<head>
<title>Página JSP</title>
</head>
<body bgcolor="#FFFFFF">
<%= nome %>
</body>
</html>
Declarações
Por exemplo, aqui temos uma JSP que imprime o
número de vezes que a página corrente foi requisitada
desde que o servidor foi iniciado (ou a classe servlet foi
mudada ou recarregada):
<%! Private int accessCount = 0; %>
<html>
<head>
<title>exemplo de declaração</title>
</head>
<body>
<% accessCount ++;%>
Acesso a página desde que o servidor foi inciado:
<%= accessCount %>
</body>
</html>
Objetos Predefinidos
Objetos JSP implícitos são automaticamente declarados pelo
contêiner e estão sempre disponíveis para utilização pelas
expressões e scriptlets (mas não em declarações).
request
response
pageContext
out
session
application
config
exception
Momento Troll

Introdução à programação para web com Java - Módulo 03: Conceitos básicos de Java Server Pages (JSP)

  • 1.
  • 2.
    visão geral sobrepáginas JSP Conhecer o ciclo de vida de páginas JSP Compreender a sintaxe e a semântica das páginas JSP Objetivos
  • 3.
    O que éJSP? JavaServer Pages (JSP) é uma tecnologia baseada em servlet usada na camada WEB para apresentar conteúdo dinâmico e estático. Ela é baseada em texto e contém, em sua maioria, modelo de texto em HTML misturado com tags que especificam conteúdo dinâmico.
  • 4.
    Porque JSP? • Oconteúdo HTML não estará embutido dentro de código em Java. Isto torna mais fácil sua manutenção. • JSP são familiares para qualquer um com conhecimento de HTML isto torna fácil o desenvolvimento de páginas WEB. • JSP têm suporte interno para o uso de componentes de software reusáveis (JavaBeans). • Promove separação de apresentação e lógica de negócios também.
  • 5.
    Ciclo de Vida Ciclode vida controlado pelo conteiner • Método init – Chamado pelo conteiner do servlet uma única vez. • Método service – Permite responder a uma solicitação do cliente. • Método destroy – Chamado quando um servlet é destruído pelo conteiner.
  • 6.
  • 7.
  • 8.
    Elementos e Modelode Dados Componentes de todas JavaServer Pages podem ser qualificados em duas categorias gerais: Elementos e Modelo de dados. Elementos são informação produzida dinamicamente. Modelo de Dados são informação estática que são responsáveis pela apresentação.
  • 9.
    Mão na massa JSPExemplo <HTML> <TITLE>Welcome</TITLE> <BODY> <H1>Greetings!</H1><br> Thank you for accessing our site. <br> The time is now <%= new java.util.Date()%> </BODY> </HTML>
  • 10.
    Comentários Comentários HTML <!-- nãoservem para comentar JSP o texto é ignorado pelo browser mas não pelo conteiner --> Comentários JSP <%-- Texto, código Java, e HTML são ignorados pelo servidor --%> Pode-se também usar comentários Java quando dentro de scriptlets, expressões ou declarações: <% código JSP ... /* comentário de varias linhas */ // comentário de linha ... código JSP %> • Utilize <% para ter <% na saída. • Todos os outro textos não específicos a JSP são passados para a saída da página
  • 11.
  • 12.
    Scriptlets Proporcionam uma maneirade inserir diretamente pedaços de instruções Java em diferentes partes do modelo de dados e tem a seguinte forma: São blocos de código que são executados sempre que uma página JSP é processada Correspondem a inserção de seqüências de instruções no método _jspService() do servlet gerado Sintaxe: <% Instruções Java; %> Definir instruções Java entre <% e %> é o mesmo que estar codificando dentro de um método.
  • 13.
    Scriptlets Método println <html> <head> <title>scriplets exemplo1</title> </head> <body> <% String userName="Samuka"; out.println("<br /><br /> Nome do usuário: <b>" + userName + "</b>"); %> </body> </html>
  • 14.
    Scriptlets Comando for emscriptlet <html> <head> <title>scriplets exemplo 1</title> </head> <body> <% for (int i=0; i < 10; i++){ %> Esta linha será impressa 10 vezes <% } %> </body> </html>
  • 15.
    Scriptlets Comando for emscriptlet <%! String [] nomes = {"Samuka","Aline","Clara", "José", "Helem" }; %> <html> <head> <title>Página JSP</title> </head> <body bgcolor="#FFFFFF"><h1>Lista de Nomes</h1> <table> <th>Nome<th> <%for(int i=0; i<nomes.length; i++){%> <tr><td> <%= "nome " + (i + 1) + " " + nomes[i] %> </td></tr> <% } %> </table> </body> </html
  • 16.
  • 17.
    Expressões Expressões fornecem umamaneira de inserir valores Java diretamente na saída. Quando processadas, retornam um valor que é inserido na página no lugar da expressão Elas tem a seguinte forma: <%= Expressão Java %> Equivale a out.print(expressão) Não terminar em ponto-e-vírgula Todos os valores resultantes das expressões são convertidos em String antes de serem redirecionados à saída padrão
  • 18.
  • 19.
    Declarações Permitem a declaraçãode variáveis e métodos em uma página e são úteis para declarar: Variáveis e métodos de instância (pertencentes ao servlet) variáveis e métodos estáticos (pertencentes à classe do servlet) Elas possuem o seguinte formato: <%! Código Java %>
  • 20.
    Declarações <%! String nome= “Samuel”; String sobrenome = “Ribeiro”; %> <html> <head> <title>Página JSP</title> </head> <body bgcolor="#FFFFFF"> <%= nome %> </body> </html>
  • 21.
    Declarações Por exemplo, aquitemos uma JSP que imprime o número de vezes que a página corrente foi requisitada desde que o servidor foi iniciado (ou a classe servlet foi mudada ou recarregada): <%! Private int accessCount = 0; %> <html> <head> <title>exemplo de declaração</title> </head> <body> <% accessCount ++;%> Acesso a página desde que o servidor foi inciado: <%= accessCount %> </body> </html>
  • 22.
    Objetos Predefinidos Objetos JSPimplícitos são automaticamente declarados pelo contêiner e estão sempre disponíveis para utilização pelas expressões e scriptlets (mas não em declarações). request response pageContext out session application config exception
  • 24.