Java Server Pages (JSP)

Documentos relacionados
Ciclo de vida; Funcionamento; Requisições e Respostas.

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

Trabalhando com Servlet

!" # # # $ %!" " & ' ( 2

Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

JSP (JAVASERVER PAGES)

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

JavaScript Fundamental e Servlet Fundamental

Programação Na Web. Servlets: Ciclo de Vida. Agenda. Visão geral sobre ciclo de vida. Nascimento de uma Servlet. Execução de uma Servlet

Java Server Pages. Arquitectura de uma aplicação distribuída em Internet. Figura 1 Modelo 2

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

João Carlos Pinheiro. Julho / 2004

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

Java para WEB com Struts 2 e Hibernate

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

SERVLETS. Introdução UNIDADED

Tutorial 1 Configuração Apache Tomcat no NetBeans 8.0 (passo a passo)

Universidade São Judas Tadeu. Faculdade de Tecnologia e Ciências Exatas. Sistemas de Informação 3ASIN

Prof. Roberto Desenvolvimento Web Avançado

Introdução. Diretivas. Scriptlets. Expressões. Declarações. JavaServer Page. Comentários. Prof. Enzo Seraphim. Pre-definições

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Estrutura do Projeto - Trabalhando com Banco de Dados

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Tutorial Jogo da Velha WEB

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80

Desenvolvimento de Sistemas Corporativos Aula 1.5 Introdução a Servlets. Prof. Bruno Moreno

DESENVOLVIMENTO DE SISTEMAS WEB UNIDADE I Criação de Aplicativos Web. Luiz Leão

Aula 7: Servlets (II)

Programação Web 2:! Introdução a JSP! Mestrado em Engenharia Informática Universidade do Minho! 290! Deliver information, not just data

Java na WEB Servlet. Sumário

Objetivos. Aprender o que são JavaBeans e como podem ser usados em páginas JSPs Usando ações-padrão ao invés de scripts

Servlets Java para Desenvolvimento Web

TUTORIAL JSP & SERVLET

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Unidade 6: Java Server Pages Prof. Daniel Caetano

Aula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Java TM Servlets. Java e Engenharia de Software Orientada a Objetos. por Jorge H. C. Fernandes Julho de 1999

JSP e Servlet Princípio de MVC

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

Java na WEB Componentes Bean

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

PROJETO WEB: Java. Prof Fernando Gomes

J550 JSP com tags padrão

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais

A figura acima mostra o script de criação do banco de dados que chamaremos de minicurso.

Unidade 9: Middleware JDBC para Criação de Beans

Registo de condutor (Protótipo funcional) Página apresentada ao utilizador

Java para WEB. Servlets

Programação II Programação para a Web. Christopher Burrows

UNIDADE II Sistemas Cadastrais com acesso a Banco de Dados

Java para Desenvolvimento Web

Linguagem Algorítmica OO. Linguagem Algorítmica

Java II. Sérgio Luiz Ruivace Cerqueira

Agilizando o processo de redeploy de aplicações Java

Java II. Sérgio Luiz Ruivace Cerqueira

" # $ %&'( ) *' ( +,)+ ( - $ (+*' 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' (

SIST706 Sistemas Distribuídos

AULA 08. Sintaxe JSP. Prof. André Luis Schwerz.

CONTEÚDO PROGRAMÁTICO

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

A Primeira Aplicação Web com Servlets

Aplicativos Web com Orientação a Objetos

WebWork 2. João Carlos Pinheiro.

Programação em Rede. Servlets. Manipulação de dados de input em Servlets

Desenvolvimento Web TCC Turma A-1

Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27

Aplicações de Linguagem de Programação Orientada a Objeto

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV1-01. Luiz Leão

Servlets.

Servlets. João Carlos Pinheiro. Julho / 2005

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta

Formação JAVA Web.

Introdução à linguagem HTML. Volnys Borges Bernal

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

Introdução à Plataforma J2EE Java2 Enterprise Edition. Alex de V. Garcia, Dr.

Unidade 14: Web Services Prof. Daniel Caetano

Projeto webservicejax

1 Introdução e Conceitos básicos

LINGUAGEM DE PROGRAMAÇÃO WEB

Volnys Bernal. Introdução à linguagem HTML. Introdução à linguagem HTML. Visão geral. Visão geral. Visão geral. Visão geral.

Surgindo em 1997 a API Java Servlet proporciona ao desenvolvedor a possibilidade de adicionar conteúdo dinâmico em um servidor web usando a

p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java.

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Associação Carioca de Ensino Superior Centro Universitário Carioca

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Fundamentos de Servlets. Conceitos e ciclo de vida Classes e Interfaces da API Exemplos de Servlets

Persistência Java para Web com MySQL

Componentes Web do JEE

Faculdades Integradas Santa Cruz. Tutorial de Java MVC WEB Criando uma tela de Login com Banco de Dados

Desenvolvimento de aplicações Web. Java Server Pages

Java - Conexão ao Banco de Dados usando JDBC

Transcrição:

Java Server Pages () joao@ecomp.uefs.br Departamento de Ciências Exatas Universidade Estadual de Feira de Santana

Problemas com Sevlet Como fazer um Servlet para exibir esta página? 1

Código do Servlet GetDate.java public class GetDate extends HttpServlet { @Override protected void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { } } res.setcontenttype("text/html;charset=utf-8"); PrintWriter out = res.getwriter(); out.println("<!doctype html>"); out.println("<html>"); out.println("<body>"); out.println("<b>a data e hora atual é </b>" + new Date()); out.println("</body>"); out.println("</html>"); 2

Problemas com Sevlet Imagine que você deseja incluir um Qtulo e um texto na página 3

Código do Servlet HttpServlet.java public class GetDate extends HttpServlet { @Override protected void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { } } res.setcontenttype("text/html;charset=utf-8"); PrintWriter out = res.getwriter(); out.println("<!doctype html>"); out.println("<html>") out.println("<head><title>data e hora</title></head>"); out.println("<body>"); out.println("exibindo data e hora utilizando Servlets <br>"); out.println("<b>a data e hora atual é </b>" + new Date()); out.println("</body>"); out.println("</html>"); 4

Problemas com Servlets Qualquer alteração no HTML exige alteração no Servlet editar o código, compilar, deploy,... O permite tornar a formatação mais simples e rápida permite separar design de programação 5

: definição Java Server Page página HTML com elementos especiais o programador pode inserir conteúdo dinâmico a extensão de uma página é.jsp a página fica armazenada no Servidor 6

Página DataHora.jsp <%@page import="java.util.date %> <html> <head> <title>data e hora</title> </head> <body> Exibindo data e hora utilizando.<br> <b>a data e hora atual é </b> <%= new Date() %> </body> </html> 7

Mais sobre Alterando uma página basta alterar o texto, não precisa recompilar a modificação passa a ser visível automajcamente Funcionamento interno toda página tem um Servlet correspondente toda modificação na página requer que o Servlet seja atualizado tudo isso é feito automajcamente! Sem intervenção do programador a primeira chamada é mais lenta (cria o Servlet) 8

Elementos dinâmicos Expressões Direjvas Scriptlets Declarações 9

Expressões Toda expressão retorna um valor Sintaxe <%= <expressão java> %> Exemplo somando 2 números <%= 5+7 %> pegando a data <%= new Date() %> 10

Direjvas Direjvas são constantes que afetam a página como um todo Sintaxe <%@ dire5va nome_atributo= valor %> Principais direjvas: page e include 11

Direjva page Direjvas da página podem incluir pacotes java podem incluir atributos no cabeçalho da página Exemplos <%@ page import= java.ujl.date %> <%@ page contenttype= text/html %> 12

Direjva include Permite incluir o conteúdo de outra página HTML ou O texto incluído poder ser de parte da página Exemplos <%@ include file= cabecalho.jsp %> Miolo da página <%@ include file= rodape.html %> 13

Exemplo DataHora.jsp <%@ include file="cabecalho.jsp" %> Exibindo data e hora utilizando diretivas.<br> <b>a data e hora atual é </b> <%= new Date() %> <br> <b>a soma de 5+7= </b> <%= 5+7 %> <%@ include file="rodape.html" %> <%@page import="java.util.date"%> <%@page contenttype="text/html" pageencoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>data e hora</title> </head> <body> cabecalho.jsp </body> </html> rodape.html 14

Scriptlets Permite incluir blocos de código Java Sintaxe <% bloco de código Java %> Exemplo <%@ include file="cabecalho.jsp" %> <b>a data e hora atual é </b> <%= new Date() %> <br> <% Date date = new Date(); SimpleDateFormat dateformat = new SimpleDateFormat("EEE"); String weekday = dateformat.format(date); if(weekday.equals("sat") weekday.equals("sun")){ }else{ } %> out.println("aproveite o final de semana!"); out.println( Hoje é "+weekday); <%@ include file="rodape.html" %> 15

Scriptlets Os scripts podem ser interrompidos a qualquer momento <%@ include file="cabecalho.jsp" %> <b>a data e hora atual é </b> <%= new Date() %> <br> <% Date date = new Date(); SimpleDateFormat dateformat = new SimpleDateFormat("EEE"); String weekday = dateformat.format(date); if(weekday.equals("sat") weekday.equals("sun")){%> Aproveite o final de semana! <%}else %> Hoje é <%= weekday %> <%@ include file="rodape.html" %> 16

Declarações Permite declarar variáveis que ficam fora do método da requisição (similar ao init()) Sintaxe <%! Declaração %> Exemplo <%! String[] dia= {"Seg","Ter", "Qua", "Qui", "Sex", "Sab", "Dom"}; %> <%@ include file="cabecalho.jsp" %> Exibindo data e hora utilizando diretivas.<br> <% Calendar c = Calendar.getInstance(); c.settime(new Date()); out.println(dia[c.get(calendar.day_of_week)]); %> <%@ include file="rodape.html" %> 17

Objetos implícitos Existe uma serie de objetos implícitos em request: instância de HvpServletRequest response: instância de HvpServletResponse out: instância de JspWriter session: instância de HvpSession applica5on: instância de ServltContext config: instância de ServletConfig 18

Exemplo <%@ include file="cabecalho.jsp" %> Existe uma serie de objetos implícitos que podem ser <% String chamados, data = request.getparameter("data"); os principais são: %> if(data!= null){ SimpleDateFormat f = new SimpleDateFormat("DD/MM/YYYY"); } <br> request, instância de HvpServletRequest Date anivdate = f.parse(data); response, instância de HvpServletResponse long diffinms = new Date().getTime() - anivdate.gettime(); out, instância de Wriver que permite escrever na saída out.print("você já viveu "+ dias +" dias!"); session, instância de HvpSession long dias = TimeUnit.DAYS.convert(diffInMs, TimeUnit.MILLISECONDS); applica5on, instância de ServletContext config, instância de ServletConfig <form action="parameters.jsp" method="get"> Data nascimento (DD/MM/YYYY): <input type="text" name="data" /> <input type="submit" value="enviar" /> </form> <%@ include file="rodape.html" %> 19

Exemplo 20

Comentários Existem dois jpos de comentários Comentário HTML <!- Comentário - > Comentário Exemplo <HTML><BODY> <%- - <Comentário> - - %> <!- Este comentário irá aparecer no fonte da página -> <%-- Este comentário não irá aparecer no fonte da página --%> </BODY><HTML> 21

JavaBeans é bastante poderoso Um programador descuidado pode rapidamente criar códigos complexos e de dixcil manutenção O ideal é que uma página seja similar a uma página HTML. Sem código Java! O código deve ser desenvolvido ujlizando Servlets, JavaBeans e páginas o negócio fica nos Servlets, os resultados são enviados para as páginas ujlizando JavaBeans JavaBeans objetos criados para representar dados possuem apenas métodos set e get 22

Exemple de arquitetura com JavaBeans Controler Browser request response Servlet JavaBeans Model View 23

JavaBean Pessoa public class PersonBean implements Serializable{ private String nome; private int idade; public PersonBean(){} public PersonBean(String nome, int idade){ } this.nome = nome; this.idade = idade; Construtor default public String getnome() { return nome;} public void setnome(string nome) { this.nome = nome;} public int getidade() { return idade; } } public void setidade(int idade) { this.idade = idade;} 24

Repassando as requisições Ujliza o método getrequestdispatcher() da classe HvpServletRequest passando o caminho de uma página e requisição Exemplo @WebServlet(urlPatterns = {"/JavaBeansServlet"}) public class JavaBeansServlet extends HttpServlet { @Override protected void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { // Código do negócio vem aqui PersonBean person = new PersonBean("João", 38); req.setattribute("pessoa", person); } } req.getrequestdispatcher("/javabeans.jsp").forward(req, res); 25

Duas formas de acessar o JavaBeans A parjr da versão 2.0 é possível ujlizar Expression Language (EL) para acessar o JavaBean <%@page contenttype="text/html" pageencoding="utf-8"%> <!DOCTYPE html> <html> </html> <body> O nome da pessoa é ${pessoa.nome} e ela tem ${pessoa.idade} </body> JavaBeans.jsp 26

Arquitetura com Servlet, e JavaBeans Browser (chrome) 6. Renderiza a página e apresenta para o cliente 1. Realiza solicitação HTTP 5. Retorna página html para o Browser Servlet Servidor 4. Retorna página HTML 3. Acessa dados locais, incluindo SGBD Disco Java Beans 27

Java Server Pages () joao@ecomp.uefs.br Departamento de Ciências Exatas Universidade Estadual de Feira de Santana