java server pages

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

Upload: mariah

Post on 09-Jan-2016

10 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Java Server Pages

Java Server Pages

Um estudo de caso para aprendizagem

Renata França de Pontes

Page 2: 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

Page 3: Java Server Pages

3

Porque usar Páginas Dinâmicas

Permite o desenvolvimento de aplicações do lado do servidor

Page 4: Java Server Pages

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

Page 5: Java Server Pages

5

Arquitetura JSP

1. O utilizador vai a uma página feita com JSP. O browser web efectua o pedido através da Internet.

2. O pedido JSP é enviado para o servidor web.

3. O servidor web reconhece o pedido especial (extensão .jsp) e entrega o JSP ao JSP Servlet Engine.

Page 6: Java Server Pages

6

Arquitetura JSP

4. Se o JSP é acessado pela primeira vez, é processado, caso contrário passa para o passo 7.

5. O próximo passo é gerar um Servlet especial do JSP. Todo o HTML necessário é convertido em declarações println.

6. O código-fonte do servlet é compilado numa classe

Page 7: Java Server Pages

7

Arquitetura JSP

7. É instanciado o Servlet, chamando os métodos init e service.

8. O código HTML produzido pelo Servlet é enviado via Internet.

9. Os resultados HTML são visualizados no web browser do utilizador.

Page 8: Java Server Pages

8

Diretivas

Imports <%@ page import="java.util.*, cart.*" %>

Declarações

<%! private DB db = null; ...%>

Scriptlets <% código java %>

Page 9: Java Server Pages

9

Diretivas

Include <%@ include file="initdestroy.jsp" %>

Espressões <%= variável %>

Tratamento de Erro

<%@ page isErrorPage="true" %> <%@ page errorPage="errorpage.jsp"%>

Page 10: Java Server Pages

10

Objetos Implícitos

Retirado do material do Prof. Jacques

Page 11: Java Server Pages

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

Page 12: Java Server Pages

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>

Page 13: Java Server Pages

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!!!";

} %>

Page 14: Java Server Pages

14

Exemplo 1 – Só JSP

Resultado.jsp

<p align="center"><%=resposta%> </p>

Page 15: Java Server Pages

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

Page 16: Java Server Pages

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

Page 17: Java Server Pages

17

Exemplo 1 – Só JSP

Resultado.jsp

<%@ include file="banner.htm" %>

Page 18: Java Server Pages

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);

}}

Page 19: Java Server Pages

19

Exemplo 2 – JSP e Servlet

Alterar Resultado.JSP

<% String resposta = (String)request.getAttribute("resposta");%>

<p align="center"><%=resposta%> </p>

Page 20: Java Server Pages

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>

Page 21: Java Server Pages

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>

Page 22: Java Server Pages

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

Page 23: Java Server Pages

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

Page 24: Java Server Pages

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

Page 25: Java Server Pages

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/