Você está na página 1de 25

Java Server Pages

Um estudo de caso para aprendizagem Renata Frana de Pontes

O que uma Pgina JSP?

uma pgina HTML com trechos de programa Java embutidos Simplificam a gerao de contedo dinmico para Web Designers A pgina JSP automaticamente transformada em servlet
2

Porque usar Pginas Dinmicas

Permite o desenvolvimento de aplicaes do lado do servidor

Porque usar JSP

Baseado em Java, uma linguagem OO


Reutilizao de componentes Vantagens do Java (segurana, portabilidade, ...)

Plataformas mltiplas (JRUN-IIS e Tomcat-Apache) Ser open-source

Arquitetura JSP
1.

2. 3.

O utilizador vai a uma pgina feita com JSP. O browser web efectua o pedido atravs da Internet. O pedido JSP enviado para o servidor web. O servidor web reconhece o pedido especial (extenso .jsp) e entrega o JSP ao JSP Servlet Engine.

Arquitetura JSP
4.

5.

6.

Se o JSP acessado pela primeira vez, processado, caso contrrio passa para o passo 7. O prximo passo gerar um Servlet especial do JSP. Todo o HTML necessrio convertido em declaraes println. O cdigo-fonte do servlet compilado numa classe

Arquitetura JSP
7.

8.

9.

instanciado o Servlet, chamando os mtodos init e service. O cdigo HTML produzido pelo Servlet enviado via Internet. Os resultados HTML so visualizados no web browser do utilizador.

Diretivas

Imports

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

Declaraes

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

Scriptlets

<% cdigo java %>

Diretivas

Include

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

Espresses

<%= varivel %>

Tratamento de Erro

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


9

Objetos Implcitos

Retirado do material do Prof. Jacques

10

Ferramentas Utilizadas

Eclipse verso 3.1.2 para editar os Servlets Tomcat verso 5.5.12 como servidor web DreamWeaver verso 6.0 para editar

Html JSP XML

11

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>

12

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 promoo muito interessante para voc: Venha conferir ";

if(idade.equals("crianca")){ resposta = resposta + "nossos brinquedos!!!!"; } else if(idade.equals("adolescente")){ resposta = resposta + "nossa promoo de MP3 Players!!!"; } else if (idade.equals("adulto")){ resposta = resposta + "nossa promoo de CDs!!!"; } else { resposta = resposta + "nossas esteiras de descanso!!!"; } %>

13

Exemplo 1 S JSP

Resultado.jsp

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

14

Exemplo 1 S JSP

Dentro do tomcat/webapps
Cria

uma pasta exemplo1 exemplo1/WEB-INF

Cria

Coloca

o index.htm e o resultado.jsp em exemplo1

15

Exemplo 1 S JSP

Inicia o tomcat A primeira navegao numa pgina JSP mais lenta pois o servlet est sendo criado e compilado, antes da execuo

16

Exemplo 1 S JSP

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

17

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 promoo muito interessante para voc: Venha conferir "; if(idade.equals("crianca")){ resposta = resposta + "nossos brinquedos!!!!"; } else if(idade.equals("adolescente")){resposta = resposta + "nossa promoo de MP3 Players!!!"; } else if (idade.equals("adulto")){resposta = resposta + "nossa promoo 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); } }

18

Exemplo 2 JSP e Servlet

Alterar Resultado.JSP

<% String resposta = (String)request.getAttribute("resposta"); %> <p align="center"><%=resposta%> </p>

19

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>

20

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>

21

Exemplo 2 JSP e Servlet

Cria a pasta tomcat\webapps\exemplo2\WEBINF\classes Coloca RetornaResultado.class nela Cria tomcat\webapps\exemplo2\WEB-INF\lib Coloca servlet.jar nela Reinicia o tomcat

22

Objetivos Especficos de Aplicao

H 3 formas de criar objetos numa pgina JSP

A classe de servlet da pgina JSP pode ter, como qualquer classe, variveis de instncia (atributos) e variveis de classe (estticas) Atributos de objetos de escopo (nos escopos ServletContext, HttpSession, ServletRequest e PageContext) so criados e usados em scriptlets e expresses Componentes JavaBeans podem ser criados e acessados usando elementos JSP

23

Objetivos Especficos de Aplicao

No coloque business logic na pgina JSP! melhor encapsular o business logic em objetos Isso permite que Page Designers se concentrem em questes de apresentao
24

Referncias
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: Site da Sun: http://java.sun.com/
25

http://www.macromedia.com/support/dreamweaver/downloads_updaters.html

Você também pode gostar