1) O documento discute conceitos básicos de JSP, incluindo Servlets, ciclo de vida de JSP, IDEs, descritores de distribuição e diretivas.
2) Também aborda objetos implícitos de JSP, estruturas de controle, cookies, sessões e tags.
3) Fornece exemplos de código JSP para ilustrar diferentes recursos.
32. Tratamento de Erros Na página JSP normal: <%@page errorPage="error.jsp" %> Na página para controle de erro: <%@page isErrorPage="true" %> Erro:<%= exception.toString() %> Mensagem:<%= exception.getMessage() %>
33. Métodos de conversão Os dados recebidos podem ser manipulados diretamente em páginas JSP dentro de scriptlets, expressões ou declarações e são utilizados através de variáveis, que de acordo com Java, devem ser declaradas como a sintaxe abaixo: <% String nome = "Texto - String"; %>
36. Métodos de conversão Convertendo String em Data <% String strData = "12/09/2009"; Date dtData = new Date(strData); out.print(dtData); %> Sat Sep 12 00:00:00 BRT 2009
37. Métodos de conversão Formatação de data <% DateFormat form = new SimpleDateFormat(" dd/MM/yyyy HH:mm:ss "); out.println(form.format(Calendar.getInstance().getTime())); %> 04/10/2009 02:34:19
38. Estruturas de controle IF if(condicao){ ... }else{ ... } Switch switch(var){ case 1: .... break; case 2: ... break; }
39. Estruturas de controle FOR for(inicializacao; teste; incremento){ ... } WHILE while(condicao){ ... } DO do{ .... }while(condicao);
40. Cookies Cookie é um mecanismo padrão fornecido pelo protocolo HTTP e que permite gravarmos pequenas quantidades de dados persistentes no navegador de um usuário. Gravando um cookie <% Cookie cookieJSP = new Cookie("nome_cookie", "valor_cookie"); // Define o tempo de vida com 2 dias cookieJSP.setMaxAge(2 * 24 * 60 * 60); // Grava o cookie na máquina do usuário response.addCookie(cookieJSP); %>
41. Cookies Lendo um cookie <% Cookie listaCookies[] = request.getCookies(); int numCookies = listaCookies.length; for (int i = 0 ; i < numCookies ; ++i) { out.print(listaCookies[i].getName()); out.print(listaCookies[i].getValue()); } %>
42. Session Session é um mecanismo que permite gravação de uma pequena quantidade de informação na sessão do servidor identificado por uma identificação - ID. Mecanismo: O browser abre uma conexão com o servidor, faz a solicitação, o servidor envia a resposta e fecha a conexão. Portanto a conexão existe para uma única solicitação/resposta. A idéia da sessão web é manter o estado do usuário entre várias conexões. Na primeira conexão, o servidor gera um único session ID para o cliente e a devolve juntamente com a resposta. Nas próximas conexões, o cliente envia junto com a solicitação o seu session ID o que permite ao servidor identificá-lo.
44. Session Define o tempo máximo (em segundos) entre solicitações pelo qual a sessão será mantida. session.setMaxInactiveInterval(tempo); Recupera o tempo máximo definido para a sessão. session.getMaxInactiveInterval(); Descarta somente o atributo da sessão informada ao parâmetro session.removeValue("nome_sessao");
45. Tags Ações Tags Standard Actions Forward A ação <jsp:forward> é usada para transferir permanentemente controle de uma página JSP para outro local no servidor. Qualquer conteúdo gerado pela página atual é descartado e o processamento da solicitação começa novamente no local alternativo. <jsp:forward page="processa.jsp" />
46. Tags Ações Tags Standard Actions Include A ação <jsp:include> permite que os desenvolvedores de página incorporem o conteúdo gerado por outro documento local no output da página atual. O output do documento incluído é inserido no output da página original do lugar da <jsp:include>, depois o processamento da página original continua. <jsp:include page="header.jsp" />
47. Tags Ações Tags Standard Actions Plugin A ação <jsp:plugin> permite o uso de plug-in de Java da Sun Microsystems, fornecendo um mecanismo compatível com várias plataformas para incorporar applets ou um JavaBean no navegador do usuário final. <jsp:plugin type="applet" codebase="plugins" code="br.com.aula.plugins.applets.calcula" width="300" height="300"> <jsp:params> <jsp:param name="param1" value="<%= valor1 %>"/> </jsp:params> </jsp:plugin>
48. Tags Ações Tags Standard Actions Plugin - Applet Applet é um software aplicativo que é executado no contexto de um browser. Uma applet geralmente executa funções bem específicas e foram introduzidas na primeira versão da plataforma Java em 1995. Applets em Java podem adicionar recursos que não são possíveis em HTML, podendo funcionar em qualquer browser, desde que tenha instalado a JVM no cliente.
49. Tags Ações Tags Standard Actions JavaBeans JavaBeans são componentes de software escritos em Java. Os próprios componentes são chamados de Beans e devem aderir as especificações delineadas na API de JavaBeans. Assim como muitos componentes de software, os Beans encapsulam tanto o estado quanto o comportamento da informação.
50. Tags Ações Tags Standard Actions A tag <jsp:useBean> A tag <jsp:useBean> diz a página que você quer disponibilizar um Bean para ela. A tag é utilizada para criar um Bean ou pegar um Bean existente no servidor. Exemplo: <jsp:useBean id=" myClock " class="java.util.Date" /> <%= myClock %>
51. Tags Ações Tags Standard Actions A tag <jsp:getProperty> A principal maneira de acessar as propriedades de um Bean em JSP é através da tag <jsp:getProperty>. A tag <jsp:getProperty> produz conteúdo que podemos ver na HTML gerada pela página e espera-se dois atributos para uso da mesma: nome e propriedade.
52. Tags Ações Tags Standard Actions A tag <jsp:getProperty> <jsp:useBean id=" time " class="br.com.aula.beans.TimeBean" /> <jsp:getProperty name=" time " property=" hours " /> public class TimeBean{ ..... public int get Hours (){ return hours; }
53. Tags Ações Tags Standard Actions A tag <jsp:setProperty> Usamos a tag <jsp:setProperty> para modificar as propriedades dos Beans. A tag <jsp:setProperty> pode ser usada em qualquer lugar dentro da página para modificar as propriedades de um Bean, desde que a propriedade tenha sido tornada gravável pelo programador do Bean.
54. Tags Ações Tags Standard Actions A tag <jsp:setProperty> <jsp:useBean id=" time " class="br.com.aula.beans.TimeBean" /> <jsp:setProperty name=" time " property=" hours " value=" 55 " /> public class TimeBean{ ..... public void set Hours ( int h ){ this.hours = h; }