1 / 25

Java Server Pages

Um estudo de caso para aprendizagem Renata França de Pontes. Java Server Pages. O que é uma Página JSP?. É uma página HTML com trechos de programa Java embutidos Simplificam a geração de conteúdo dinâmico para Web Designers A página JSP é automaticamente transformada em servlet.

mariah
Download Presentation

Java Server Pages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Um estudo de caso para aprendizagem Renata França de Pontes Java Server Pages

  2. O que é uma Página JSP? É uma página HTML com trechos de programa Java embutidos Simplificam a geração de conteúdo dinâmico para Web Designers A página JSP é automaticamente transformada em servlet

  3. Porque usar Páginas Dinâmicas Permite o desenvolvimento de aplicações do lado do servidor

  4. Porque usar JSP Baseado em Java, uma linguagem OO Reutilização de componentes Vantagens do Java (segurança, portabilidade, ...) Plataformas múltiplas (JRUN-IIS e Tomcat-Apache) Ser open-source

  5. Arquitetura JSP O utilizador vai a uma página feita com JSP. O browser web efectua o pedido através da Internet. O pedido JSP é enviado para o servidor web. O servidor web reconhece o pedido especial (extensão .jsp) e entrega o JSP ao JSP Servlet Engine.

  6. Arquitetura JSP Se o JSP é acessado pela primeira vez, é processado, caso contrário passa para o passo 7. O próximo passo é gerar um Servlet especial do JSP. Todo o HTML necessário é convertido em declarações println. O código-fonte do servlet é compilado numa classe

  7. Arquitetura JSP É instanciado o Servlet, chamando os métodos init e service. O código HTML produzido pelo Servlet é enviado via Internet. Os resultados HTML são visualizados no web browser do utilizador.

  8. Diretivas Imports <%@ page import="java.util.*, cart.*" %> Declarações <%! private DB db = null; ...%> Scriptlets <% código java %>

  9. Diretivas Include <%@ include file="initdestroy.jsp" %> Espressões <%= variável %> Tratamento de Erro <%@ page isErrorPage="true" %> <%@ page errorPage="errorpage.jsp"%>

  10. Objetos Implícitos Retirado do material do Prof. Jacques

  11. Ferramentas Utilizadas Eclipse versão 3.1.2 para editar os Servlets Tomcat versão 5.5.12 como servidor web DreamWeaver versão 6.0 para editar Html JSP XML

  12. Exemplo 1 – Só JSP Index.htm <form name="form1" method="post" action="resultado.jsp"> Seu Nome: <input type="text" name="nome" value=""> Sexo: <label><input type="radio" name="sexo" value="M"> M</label> <label> <input type="radio" name="sexo" value="F"> F</label> Idade: <label><input type="radio" name="idade" value="crianca">0 - 12</label> <label><input type="radio" name="idade" value="adolescente">13 - 18</label> <label><input type="radio" name="idade" value="adulto"> 19 - 65</label> <label><input type="radio" name="idade" value="idoso">66 - 120</label> <input type="submit" name="Submit" value="enviar"> </form>

  13. Exemplo 1 – Só JSP Resultado.JSP <% String nome = request. getParameter("nome"); String sexo = request. getParameter("sexo"); String idade =request. getParameter("idade"); String resposta = "Olá " + nome + ", estamos muito felizes de "; if(sexo.equals("M")) { resposta = resposta + "te-lo"; } else { resposta = resposta + "te-la"; } resposta = resposta + " conosco. Temos uma promoção muito interessante para você: Venha conferir "; if(idade.equals("crianca")){ resposta = resposta + "nossos brinquedos!!!!"; } else if(idade.equals("adolescente")){ resposta = resposta + "nossa promoção de MP3 Players!!!"; } else if (idade.equals("adulto")){ resposta = resposta + "nossa promoção de CDs!!!"; } else { resposta = resposta + "nossas esteiras de descanso!!!"; } %>

  14. Exemplo 1 – Só JSP Resultado.jsp <p align="center"><%=resposta%> </p>

  15. Exemplo 1 – Só JSP Dentro do tomcat/webapps Cria uma pasta exemplo1 Cria exemplo1/WEB-INF Coloca o index.htm e o resultado.jsp em exemplo1

  16. Exemplo 1 – Só JSP Inicia o tomcat A primeira navegação numa página JSP é mais lenta pois o servlet está sendo criado e compilado, antes da execução

  17. Exemplo 1 – Só JSP Resultado.jsp <%@ include file="banner.htm" %>

  18. Exemplo 2 – JSP e Servlet Criando o Servlet public class RetornaResultado extends HttpServlet { public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String nome = request.getParameter("nome"); String sexo = request.getParameter("sexo"); String idade = request.getParameter("idade"); String resposta = "Olá " + nome + ", estamos muito felizes de "; if(sexo.equals("M")) {resposta = resposta + "te-lo"; } else {resposta = resposta + "te-la"; } resposta = resposta + " conosco. Temos uma promoção muito interessante para você: Venha conferir "; if(idade.equals("crianca")){ resposta = resposta + "nossos brinquedos!!!!"; } else if(idade.equals("adolescente")){resposta = resposta + "nossa promoção de MP3 Players!!!"; } else if (idade.equals("adulto")){resposta = resposta + "nossa promoção de CDs!!!"; }else {resposta = resposta + "nossas esteiras de descanso!!!"; } request.setAttribute("resposta", resposta); forward("resultado.jsp", request, response); } private void forward(String viewPage, HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { RequestDispatcher rd = req.getRequestDispatcher("/"+viewPage); rd.forward(req,res); } }

  19. Exemplo 2 – JSP e Servlet Alterar Resultado.JSP <% String resposta = (String)request.getAttribute("resposta"); %> <p align="center"><%=resposta%> </p>

  20. Exemplo 2 – JSP e Servlet Criar web.xml <display-name>Exemplo2</display-name> <description>Aprendendo JSP e Servlet</description> <servlet> <servlet-name>RetornaResultado</servlet-name> <servlet-class>RetornaResultado</servlet-class> </servlet> <servlet-mapping> <servlet-name>RetornaResultado</servlet-name> <url-pattern>/RetornaResultado</url-pattern> </servlet-mapping> </web-app>

  21. Exemplo 2 – JSP e Servlet Alterar Index.htm <form name="form1" method="post" action=“RetornaResultado"> Seu Nome: <input type="text" name="nome" value=""> Sexo: <label><input type="radio" name="sexo" value="M"> M</label> <label> <input type="radio" name="sexo" value="F"> F</label> Idade: <label><input type="radio" name="idade" value="crianca">0 - 12</label> <label><input type="radio" name="idade" value="adolescente">13 - 18</label> <label><input type="radio" name="idade" value="adulto"> 19 - 65</label> <label><input type="radio" name="idade" value="idoso">66 - 120</label> <input type="submit" name="Submit" value="enviar"> </form>

  22. Exemplo 2 – JSP e Servlet Cria a pasta tomcat\webapps\exemplo2\WEB-INF\classes Coloca RetornaResultado.class nela Cria tomcat\webapps\exemplo2\WEB-INF\lib Coloca servlet.jar nela Reinicia o tomcat

  23. Objetivos Específicos de Aplicação Há 3 formas de criar objetos numa página JSP A classe de servlet da página JSP pode ter, como qualquer classe, variáveis de instância (atributos) e variáveis de classe (estáticas) Atributos de objetos de escopo (nos escopos ServletContext, HttpSession, ServletRequest e PageContext) são criados e usados em scriptlets e expressões Componentes JavaBeans podem ser criados e acessados usando elementos JSP

  24. Objetivos Específicos de Aplicação Não coloque business logic na página JSP! É melhor encapsular o business logic em objetos Isso permite que Page Designers se concentrem em questões de apresentação

  25. Referências • Site da disciplina de DACA: http://www.dsc.ufcg.edu.br/~jacques/cursos/2005.2/daca/ • Site sobre HotsPots que utiliza JSP em seu modelo: http://sweet.ua.pt/~a21539/app_hotspots.ppt • Site do Eclipse: http://www.eclipse.org/ • Site do Tomcat: http://tomcat.apache.org/ • Site do DreamWeaver: http://www.macromedia.com/support/dreamweaver/downloads_updaters.html • Site da Sun: http://java.sun.com/

More Related