Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
LINGUAGEM DE PROGRAMAÇÃO II /PROGRAMAÇÃO INTERNET I Seção II Introdução a Java Server Pages (JSP) Professorª Angela Saemi angela.takesaki@bilac.com.br 1 Desenvolvimento web com JSP Servlets e JSP Como estudamos anteriormente, as classes servlets permitem gerar dinamicamente páginas HTML dentro de um programa Java. Dessa forma, a criação das páginas acabava ficando para programadores Java e não para web designers por exemplo. Isto proporcionou uma limitação na utilização de servlets. Servlets e JSP Surgiu então a tecnologia Java Server Pages ou JSP. Com o surgimento do JSP, a página pôde ser escrita por um web designer através de ferramentas específicas para a geração de páginas HTML. Assim, com o JSP foi possível escrever páginas HTML e inserir código Java nelas. O que é uma página JSP? É uma página HTML com trechos de programa Java embutidos e outras tags especiais A parte dinâmica da página é gerada pelo JSP e a parte estática pelo HTML. Simplificam a geração de conteúdo dinâmico para Web Designers A página JSP é automaticamente transformada em servlet JSP pode ser expresso através do seu formato padrão e do seu formato XML. Java Server Pages JSP (JavaServer Pages) é uma tecnologia baseada em Java que simplifica o processo de desenvolvimento de sites da web dinâmicos. Foi criada pela Sun Microsystems em junho de 1999 com o objetivo de simplificar a tecnologia Java Servlets, possuindo um suporte robusto e repleto de recursos Java no servidor, a fim de garantir uma plataforma estável e bem definida. 6 Então não precisamos mais de servlets ? Sim, precisamos. As boas práticas Java ensinam que devemos dividir responsabilidades entre os diversos objetos e componentes da nossa aplicação. 7 Então não precisamos mais de servlets ? Antes do surgimento do JSP, atribuímos a responsabilidade de processar a lógica de negócio em um servlet e responsabilidade para outro servlet para gerar uma página HTML. Agora podemos ter um servlet para o processamento de lógica de negócio e um JSP para gerar páginas. 8 Ciclo de vida de um JSP Um JSP é uma forma mais simples de se criar um servlet. Para lidarmos com páginas JSP precisamos entender os passos executados para que ele seja transformado em um servlet. 9 Ciclo de vida JSP Transformação de um JSP em servlet Ao chamar o JSP, ele é transformado em um servlet para depois ser compilado. 11 Elementos utilizados em JSPs Em uma página JSP podemos escrever código Java, HTML, XML, texto simples ou qualquer outro formato que possa interpretado pelo cliente (navegador). 12 Tipos de elementos utilizados em uma página JSP Scriptlets Comentários Expressões Diretivas Declarações 13 Scriptlets Bloco de código Java que é executado durante o processo de requisição e é utilizado como declaração dentro de tags <% %>. Dentro das tags podemos utilizar código Java, sem esquecermos de colocar o ponto-e-vírgula necessário. 14 Scriptlets Exemplo: 15 Vamos criar nossa primeira página JSP 16 Nomeie o seu jsp como index.jsp 17 Scriptlets Exemplo: 18 Scriptlets NO JSP temos uma variável já implícita do tipo JspWriter que permite imprimir para o response (resposta) através do método println: <% out.println(variavel); %> 19 Ao rodar o nosso projeto 20 Scriptlets A variável out é um objeto implícito na nossa página JSP. Repare que o uso é semelhante ao que utilizamos em um servlet. Podemos imprimir o conteúdo utilizando um atalho: <% = variavel %> 21 Vamos praticar Crie um Jsp para exibir o conteúdo abaixo: Bem vindo ao Portal do Bilac Desenvolvido por (coloque seu nome) A primeira frase utilizaremos a variável out A segunda frase utilizaremos o atalho. 22 Mais Scriptlets <% for(int i=1; i<=10; i++){ %> Número: <% out.println ( i );%> <br/> <% } %> 23 Mais Scriptlets 24 Sintaxe dos elementos JSP Podem ser usados em documentos de texto (geralmente HTML ou XML) Todos são interpretados no servidor (jamais chegam ao browser) diretivas: <%@ ... %> declarações: <%! ... %> expressões: <%= ... %> scriptlets: <% ... %> comentários: <%-- ... --%> ações: <jsp:ação ... /> custom tags: <prefixo:elemento ... /> Expressões Expressões contem elementos que são processados e geram um resultado que será exibido na página jsp. Os elementos podem ser: Variáveis Operações Chamadas a métodos 26 Expressões <% String variavel = "teste"; %> <table border="2"> <tr> <td> <%=variavel%> </td> </tr> </table> 27 Expressões 28 Expressões Tabuada de 3; <% for (int i = 1; i <= 10; i++) { %> <br/> <% int res = 3*i; %> 3 x <% =i %> = <% =res %> <% } %> 29 Expressões 30 Declarações As declarações em páginas JSP são blocos de código que podem conter declarações de variáveis e métodos que serão utilizados no escopo da classe. São declarados dentro de tags <%! %> 31 Declarações Chamada de metodo: <%= metodo() %> <br/> <%! public String metodo(){ String variavel = "variável declarada"; return variavel; } %> 32 Declarações 33 Diretivas São instruções de configuração de páginas JSP. Utilizando as diretivas é possível fazer a importação de classes, configuração de saída, inclusão de outros arquivos, etc... Contém informações necessárias ao processamento da classe do servlet que gera a página JSP 34 Diretivas As diretivas são: page: configurações gerais. Include: inclui outros arquivos na página Taglib e tag: para configuração de tags customizadas. 35 Diretivas Diretivas JSP devem estar sempre entre tags <%@ %> Cada diretiva possui o seu conjunto de atributos associados. 36 Diretivas Sintaxe de uma diretiva <%@ diretiva [atributo]="valor" [atributo]="valor" %> 37 Diretivas Principais Atributos Descrição Import Utilizada para indicar classes ou pacotesvão ser importados pelo servlet Session indica se a session vai ser criadaautomaticamente, ou não, através de true ou false errorPage Indica qual página será executada quando ocorrer um erro na página isErrorPage Indica que a página é uma página de erro contentType Indica o tipo do conteúdo da página. O valor padrão é “text/html” pageEnconding Indica o charsetda página. O padrão é ISO-8859-1 File Indicao arquivo que será incluído na posição em que a diretiva aparece na página JSP 38 Importação de pacotes e classes Utilize o atributo import na diretiva page para fazer a importação de classes e pacotes a serem utilizados na página JSP. 39 Importação de pacotes e classes <%@page import="java.util.Date" %> <!DOCTYPE html> <body> São José dos Campos, <%= new Date()%> </body> 40 Importação de pacotes e classes 41 Configuração de páginas de erro para JSP Utilizando a diretiva page podemos configurar uma página de tratamento de erros para uma página JSP. Quando ocorrer uma exceção em uma página JSP, a página de erro será exibida. 42 Atributo errorPage Caso haja uma exceção em uma página, podemos utilizar o atributo errorPage pare redirecionar para uma página de erro. 43 Atributo errorPage Sintaxe: <%@page errorPage="paginaDeErro.jsp" %> 44 Vamos testar! Inclua a diretiva no início da página e crie uma página jsp chamada paginaDeErro.jsp <%@page errorPage="paginaDeErro.jsp" %> 45 Vamos testar! Na página atual inclua um cálculo para que ocorra um erro: <body> <% int x=10/0; %> </body> 46 Vamos testar! Na página paginaDeErro.jsp, faça uma alteração para que exiba a ocorrência de um erro. <title>Página de erro</title> </head> <body> <h1>Ocorreu um erro!!</h1> </body> 47 Execute o programa Como nenhum número pode ser dividido por s zero, será redirecionado para a página de erro exibindo a mensagem: Ocorreu um erro!! 48 Inclusão de arquivos externos Uma diretiva bastante utilizada é a include. Através dela podemos utilizar arquivos externos. 49 Inclusão de arquivos externos Sintaxe: <%@include file=“header.jsp" %> 50 Crie uma página header.jsp 51 Crie uma página cadastroUsuario.jsp 52 Na página index.jsp 53 Ao executarmos, em cada célula da tabela será exibido a página jsp chamada. 54 E então? Agora que conhecemos um pouco sobre jsp Bora trabalhar? Grupo de até 4 pessoas. Crie uma página index.jsp: Esta será a sua página principal, utilize o conceito de JSP para incluir páginas com cabeçalho, rodapé padrão para todas as suas páginas. Utilize o formato de seu site desenvolvido em disciplina anterior. O projeto deve ser enviado para o e-mail angela.aulas@gmail.com. No assunto coloque o curso, período e “projeto parte 2”. Início da Atividade de ED – Parte 2 O objetivo final do Estudo Dirigido é criarmos um site com páginas JSP Bibliografia DEITEL, Paul J.; DEITEL, Harvey M.; Java - Como programar, 8ª edição, São Paulo, Editora: Prentice Hall, 2010. GOODWILL J. Pure JSP -- Java Server Pages: A Code-Intensive Premium Reference Sams, 2000. GONÇALVES, Edson. Desenvolvendo aplicações Web com JSP, Servlets, JavaServer faces, Hibernate, EJB 3 Persistence e Ajax. Ciência Moderna. ISBN 8573935723 ARAUJO, Everton Coimbra de ; Desenvolvimento para WEB com Java, São Paulo, Visual Books, 2010.