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

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

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta

AULA 03 JAVA ENTERPRISE EDITION - DESENVOLVENDO APLICAÇÕES CORPORATIVAS

Java II. Sérgio Luiz Ruivace Cerqueira

Java para WEB com Struts 2 e Hibernate

Unidade 6: Java Server Pages Prof. Daniel Caetano

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

Java Server Pages (JSP)

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

Desenvolvimento Web TCC Turma A-1

Desenvolvimento de aplicações Web. Java Server Pages

JavaServer Pages. Também são conhecidas pela sigla correspondente (JSP). Representam mais uma tecnologia da plataforma JEE.

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

DESENVOLVENDO APLICAÇÕES WEB COM JSP E JSTL. Peter Jandl Junior. Novatec

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

Módulo IVb - JSP. Prof. Ismael H F Santos. Módulo IVb Java Server Pages - JSP

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

O que é uma tag Tag tag tag tag tag tags tags HTML O que é uma tag library biblioteca de tags tags Java Standard Tag Library JSTL Tag Library JSTL

JavaScript (Elementos de Programação e Programação Básica)

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

Formação JAVA Web.

JSP (JAVASERVER PAGES)

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Aula 2 Servlets. Gustavo Wagner. Gustavo Wagner - gustavowagner.com.

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

Java para Desenvolvimento Web Carga Horária: 40 Horas.

Java para Desenvolvimento Web

UNIDADE III JAVA SERVER PAGES

Redes de Computadores

JavaScript Fundamental e Servlet Fundamental

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

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

Objetos Implícitos. Conceito. Instanciados pelo próprio contêiner. Disponíveis em quaisquer páginas JSP.

Desenvolvimento Web III. Prof. Felippe Scheidt

CONTEÚDO PROGRAMÁTICO

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

Java para Desenvolvimento Web

Tecnologias Web. Java Enterprise Edition

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

Aula 7: Servlets (II)

Tecnologias para Web

J550 JSP com tags padrão

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

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta

JSP (Java Server Pages)

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

SERVLETS. Introdução UNIDADED

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

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Web Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

JSP (Java Server Pages)

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

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Desenvolvimento Web II

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB

Trabalhando com Servlet

PROGRAMAÇÃO SERVIDOR RECURSOS ADICIONAIS EM SISTEMAS WEB DOS SERVLETS. Prof. Dr. Daniel Caetano

J2EE. Projeto de Sistemas de Software

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

INTRODUÇÃO À TECNOLOGIA SERVLETS

Java para WEB. Servlets

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

Criando Classes em PHP

Aula 11 Introdução ao Java Script

Ambientação com a Sintaxe de Java: parte 1

Web Services REST JAX-RS

Recursos Complementares (Tabelas e Formulários)

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Introdução ao Javascript

JSP - JavaServer Pages

Construção de Sites. Introdução ao Universo Web. Prof. Nícolas Trigo

Classes e Objetos. Sintaxe de classe em Java

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

Programação para Internet

J550. Sessões. Helder da Rocha

INTRODUÇÃO À TECNOLOGIA SERVLETS

Java II. Sérgio Luiz Ruivace Cerqueira

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

Programação para Internet

Redes de Computadores

EDEILSON MILHOMEM DA SILVA DESENVOLVIMENTO DE UM SISTEMA UTILIZANDO A TECNOLOGIA JSP PARA A MANIPULAÇÃO E RECUPERAÇÃO DE FOTOS DOCUMENTADAS EM RDF

Java Variáveis e Controle Fluxo

Desenvolvimento Web TCC Turma A-1

J820. Testes em J2EE com. Jakarta C A C T U S. argonavis.com.br. Helder da Rocha

Vetores. e o programa deverá ler os valores separadamente:

Exercício Programa Mini Web Server

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

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Web Services REST e JSON

Programação: Vetores

Escrever scripts de PHP com HTML

Programação para Internet

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Transcrição:

Linguagem de Programação para Web Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos) Prof. Mauro Lopes 1-31 28

Objetivos Dando continuidade aos estudos sobre JSP, apresentaremos os elementos básicos para a composição de uma página JSP (Java Server Page). Para escrever uma página JSP eficaz precisamos entender os elementos de diretiva, script e ação. Aqui abordaremos as diretivas de página e também os objetos implícitos que compõe uma página JSP! 2-28

Plano de Aula O que são diretivas? Tipos de diretivas Diretivas de página (page) Diretivas de inclusão (include) Diretivas de tag de biblioteca (taglib) Diretiva Page Diretiva Include Diretiva taglib Elementos de Script e Objetos Implícitos 3-28

O que são diretivas? Diretivas são mensagens ao JSP Container, contendo informações de como este precisa traduzir uma página JSP para um servlet correspondente; As diretivas tem a seguinte sintaxe: <%@ diretiva atributo= valor %> ou <%@ diretiva atributo= valor atributo= valor... %> Os espaços em branco depois da abertura <%@ e de %> antes do fechamento, são opcionais, mas são recomendados, para aumentar a legibilidade; O valor do atributo precisa estar entre aspas. 4-28

Tipos de Diretivas Há três tipos de Diretivas: Diretivas de Página (Page): Seu uso é básico dentro do conceito de diretiva. Diretivas de inclusão (Include): Coloca o conteúdo de um arquivo em outro. Não há limites para inclusões, podendo ter várias em uma mesma página. A diretiva se substitui pelo conteúdo indicado. Diretivas de tag de biblioteca (taglib): Se usarmos esta diretiva em uma página, um conjunto de tags personalizadas estará a sua disposição, que poderá ser usada num sistema de página à página. 5-28

Diretiva Page O que torna esta diretiva um pouco complicada é que ela possui onze atributos diferentes. Vamos conhecer cada um deles. Observe primeiro como é a sua sintaxe: <%@ page atributo1= valor1 atributo2= valor2 atributo3= valor3... %> ou <jsp:directive.page atributo1= valor1 atributo2= valor2 atributo3= valor3... />. Por possuir múltiplos atributos a linguagem JSP permite que se declare várias diretivas numa mesma página, porém o único atributo que pode ser repetido é o import, que veremos mais a diante. 6-28

Diretiva Page Atributos da Diretiva Page: Atributo Info Atributo Language Atributo ContentType Atributo Extends Atributo Import Atributo Session Atributo Buffer Atributo AutoFlush Atributo isthreadsafe Atributo errorpage Atributo iserrorpage 7-28

Atributo Info Usado para inserir informações sumarizadas da página, não havendo restrições ao seu tamanho. Exemplo: <%@ page info= Estudo sobre Diretivas JSP %> Valor padrão: NENHUM Atributo Language Usado, em geral, para especificar Java como a linguagem de criação de script para a página. Exemplo: <%@ page language= java %> Valor padrão: Java Diretiva Page 8-28

Atributo ContentType Este atributo indica qual o tipo MIME (Multipurpose Internet Mail Extensions) da resposta está sendo gerada pela JSP. Os tipos mais comuns são: text/plain, text/html, text/xml. Logo abaixo segue o exemplo usado como padrão para as JSPs. <%@ page contenttype= text/html %> Valor padrão: text/html;charset=isso-8859-1 Atributo Extends (cuidado!!!) Serve para indicar a super classe que será usada pelo container JSP no momento de tradução da página em uma Servlet Java. Exemplo: <%@ page extends= com.taglib.jsp.primeirapagina %> Valor padrão: NENHUM Diretiva Page 9-28

Atributo Import Com o atributo import, diferente do extends, é capaz de importar um conjunto de classes Java que poderão ser usadas nas páginas JSPs. Esta forma é mais econômica de se digitar código, sendo mais prático. Exemplo: <%@ page import= java.util.list %> Valor padrão: NENHUM Atributo Session Session é do tipo boolean, indica se a página está participando do gerenciamento de sessão. Por exemplo, se quisermos dizer que uma página é parte de uma sessão, utiliza-se a seguinte sintaxe: <%@ page session= true %> Valor padrão: true Diretiva Page 10-28

Diretiva Page Atributo Buffer Responsável por controlar a saída bufferizada para uma página JSP. Se for ajustado para none o conteúdo de uma JSP é passado instantaneamente à resposta HTTP. O tamanho do buffer é descrito em kilobytes. Exemplo: <%@ page buffer="12 %> ou <%@ page buffer= none %> Valor padrão: 8192 caracteres ou 8 Kb Atributo AutoFlush Também é responsável por controlar a saída buferizada, determinando o comportamento do container JSP quando o Buffer de saída já esta cheio (ação de forma automática). Neste caso é esvaziado o Buffer de saída e o conteúdo enviado para o servidor HTTP que envia para o Browser responsável pela solicitação. Abaixo sua sintaxe: <%@ page autoflush= true %> Valor padrão: true 11-28

Atributo isthreadsafe Quando uma página JSP é compilada em uma Servlet, ela deve ser capaz de atender a múltiplas solicitações. Para isso devemos utilizar o atributo isthreadsafe, caso contrário é necessário definí-lo como false. Exemplo: <%@ page isthreadsafe= false %> Valor padrão: true Atributo errorpage ErrorPage indica Define uma URL para o recurso para onde os uncaught Throwables devem ser enviados. Se você definir um JSP aqui, então este JSP terá um atributo iserrorpage= true na sua diretiva.container. Exemplo: <%@ page errorpage= /trabalho/paginas/erro.jsp %> Valor padrão: NENHUM Diretiva Page 12-28

Atributo iserrorpage Define se a página atual representa uma outra página de erro dos JSPs. O valor padrão é false, mas se for true, as páginas têm acesso ao objeto implícito exception (que é uma referência ao inconveniente Throwables). Se for false, o objeto implícito exception fica indisponível para o JSP. <%@ page iserrorpage= true %> Valor padrão: false Diretiva Page 13-28

Diretiva Include Coloca o conteúdo de um arquivo em outro. Não há limites para inclusões, podendo ter várias em uma mesma página. A diretiva se substitui pelo conteúdo indicado. A diretiva include é útil se voce tiver uma fonte comum que será usada por mais de uma página JSP. Em vez de repetir o mesmo código em cada página JSP, basta usar o include, evitando problemas de manutenção; Sua sintaxe é: <%@ include file= URLdoArquivo %> ou <jsp:directive.include file= URLdo Arquivo /> 14-28

Diretiva taglib Se usarmos esta diretiva em uma página, um conjunto de tags personalizadas estará a sua disposição, que poderá ser usada num sistema de página à página. Podendo ser declaradas, também, de duas formas: <%@ taglib uri= URLdaBibliotecadeTags prefix= PrefixodaTag %> ou <jsp:directive.taglib uri= URLdaBibliotecadeTags prefix= PrefixodaTag /> 15-28

Elementos de Script Uma página JSP pode ter três tipos de elementos: Elementos de Script que são inseridos diretamente no servlet. Diretivas que permitem a manipulação do código gerado como servlet. Ações que possibilitam o uso de outros componentes, como JavaBeans. 16-28

Elementos de Script Os elementos de script JSP que podem ser inseridos em uma página HTML são: Expressões que são avaliadas e inseridas na saída do servlet; Scriptlets, trechos de código inseridos no método _jspservice; Declarações inseridas fora dos métodos do servlet. 17-28

Elementos de Script DECLARAÇÕES: Bloco de código JAVA que define variáveis, constantes e métodos referentes a página. É definido entre os símbolos <%! e %>; Exemplo: <%! int numtimes=0; public String sayhello(string name) { return Hello +name+! ; } %> 18-28

Elementos de Script Scriptlets: Bloco de código JAVA que será executado durante a requisição à página; Trechos de código Java delimitados por <% e %> Podem acessar as variáveis pré-definidas Exemplo: <% for (int i=0; i<10; i++) %> out.println( <b> i= +i+ </b><br> ); 19-28

Expressões: Notação simples para scriptlets que serão avaliados e retornarão seus valores ao cliente; A expressão é avaliada, convertida para string e inserida na página. As expressões podem ser qualquer comando Java que retorne valor. Exemplo: <html> </html> Elementos de Script <body> <% int valor=10; %> <b>valor:</b> </body> <%=valor%> Scriptlet Expressão 20-28

Objetos Implícitos As páginas JSP oferecem, automaticamente, instâncias de objetos especiais que estão prontas para serem referenciadas; Os nomes dessas variáveis são padronizados e estas representam os objetos dos servlets; HTTPServletRequest request / HTTPServletResponse- response / PrintWriter out / HTTPSession - session, etc; Iremos abordar apenas os mais usados... 21-28

Encapsula todos os dados/metadados contidos numa requisição http; O que contém, basicamente, uma requisição http? URL requisitada Cookies Objetos Implícitos - Request Content Type (texto, XML, html, imagem...) Request Type (GET / Post) Parâmetros enviados de campos de formulários ou explícitamente na URL (após o símbolo '?') Exemplo de URL: http://domain.com?login=mauro&name= Mauro Lopes Parâmetros: login/mauro e name/mauro Lopes Métodos Principais: String getparameter (String paramname), Object getattribute (String attribname), void setattribute (String attribname, Object attrib) 22-28

Objetos Implícitos - Session Representa a sessão iniciada pelo usuário; Uma sessão é ativada no instante da primeira requisição de um usuário à aplicação; É terminada explicitamente pela aplicação, ou por timeout; Pode-se colocar objetos na sessão para persistir durante toda a navegação do usuário no site; O objeto não estará acessível se a página JSP não fizer parte da sessão uso da diretiva <%@ page session= false %>. Por default session=true Métodos Principais: Object getattribute (String attribname), void setattribute (String attribname, Object attrib); Esses objetos estarão disponíveis enquanto a sessão estiver ativa. 23-28

Objetos Implícitos - Application Guarda configurações da sua aplicação WEB, tais como: Context path, parâmetros de inicialização. Também pode armazenar atributos, os quais estarão disponíveis enquanto a aplicação estiver no ar. Para destruir estas variáveis devemos por exemplo, desligar o servidor Web; Métodos Principais: ServletContext getservletcontext(); Object getattribute (String attribname); void setattribute (String attribname, Object attrib); 24-28

Escopo dos Objetos A persistência das informações depende do escopo dos objetos onde elas estão disponíveis: Page: Acessível em toda a página JSP; Request: acessível durante toda uma requisição; Session: acessível durante toda uma sessão; Application: acessível enquanto a aplicação estiver rodando. 25-28

Perguntas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva 26-28

Próxima Aula... Integração entre JSP e Servlets 27-28

Referências Materiais avulsos da Internet e o Livro Java para a Web com Servlets, JSP e EJB, Budi Kurniawan, Rio de Janeiro - Editora Ciência Moderna, 807 páginas. 28-28