Arquitetura das JSP - Aula 2

Slides:



Advertisements
Apresentações semelhantes
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 11 Criado por Frederick H. Colclough, Colorado Technical University Compilação Separada.
Advertisements

UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Framework para desenvolvimento web
Objetos Implícitos Contextuais
Modelo Cliente-Servidor
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Alcides Calsavara JSP JavaServer Pages Alcides Calsavara
Orientação a Objetos: Encapsulamento e Classificação
Java Server Pages (JSPs)
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Tecnologia para Web JavaScript
Aula 10 Manipulação de Exceções
Prof.: Carlos Hairon R. Gonçalves
WebWork e JSP Keven andrade
Geração Dinâmica de Páginas com JSP Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação.
Prof. Marco Aurelio N. Esteves
Model-View-Controller (MVC) em Aplicações Web Eduardo Martins Guerra Desenvolvimento de Soluções WEB.
Desenvolvimento de Soluções WEB Escopos de uma Aplicação Web
Tecnologias para Internet
EL e JSTL Prof. Danton Cavalcanti Franco Junior
Desenvolvimento de Projetos e Aplicações Web
JAVA: Conceitos Iniciais
Aplicativos Web Com Orientação a Objetos
Desenvolvimento WEB I Camila Nunes
Introdução ao Desenvolvimento Web
Capítulo 2 Java Servlets.
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
SISTEMAS OPERACIONAIS
Cliente Servidor HTML JSP CSS Tomcat Servlet MySQL
Rodrigo Cristiano Silva
Configuração do Ambiente de Desenvolvimento
Conceitos de J2EE para a WEB
Projeto de Banco de Dados
Aula 2 – Primeiros Passos com a arquitetura Web Servidor
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
JSP / Servlets Avançado
JSP e Servlets ISEP – LP2 Filipe Costa – /2004.
Aula 2 – Primeiros Passos com a arquitetura Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas.
Aplicações Web com Orientação a Objetos
Aplicativos Web Com Orientação a Objetos – Java Server Pages(JSP) Prof. Odair
JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF Dezembro/2005.
Aula 4 Prof. Naércio Filho Técnico em Informática
Padrões de Interação com o Usuário
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
PEC - JSP Jobson Ronan Objetivos Esta aula apresenta tudo o que é necessário para implementar servlets escrevendo JavaServer Pages.
Aula Prática 3 Funções Monitoria Introdução à Programação.
JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan
Unidade 5 – Integrando JSP e Servlets Prof.: Henrique Santos
Daniel Garcez de Sousa 07/04/2015. Nesta apresentação abordaremos os conceitos básicos sobre o ciclo de vida de um Servlet e os HTTP servlets. No final.
OBJETIVO Nesta aula será apresentado o desenvolvimento básico sobre HTTP Servlets. Espera-se que, ao final da apresentação, o aluno tenha noções de como.
Introdução à JSP JavaServer Pages Alcides Calsavara.
Programação Distribuída em Java Aula Na aula passada vimos: TomCat –Instalação e configuração –Criação de contexto JSP... uma introdução –Expressões.
Programação Distribuída em Java Aula 09 - JSP. Na aula passada vimos: Aspectos gerais de segurança em Java policytool Instalação de políticas de segurança.
Curso de JSP Básico Camilo Porto Nunes.
Java Server Pages Um estudo de caso para aprendizagem Renata França de Pontes.
Programação para Internet
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
Aplicativos para Internet Prof. Wolley W. Silva
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
O que é? Um framework para facilitar a implementação de uma arquitetura MVC em aplicações web Oferece  Um servlet controlador configurável ( Front Controller.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior.
Prof. Rogerio Alessandro Bueno 1 JavaServer Pages (JSP) Prof. Rogério A. Bueno.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Java TM Platform, Enterprise Edition (Java EE) Projeto de Sistemas de Software.
Transcrição da apresentação:

Arquitetura das JSP - Aula 2 Vitor Brandi Junior Baseado no tutorial “JavaServer Pages Fundamentals - Short Course” by jGuru

Sumário Introdução Como funciona processo de compilação das JSP Modelos de Acesso Sintaxe básica da JSP Introdução ao conceito de escopo de objetos Introdução ao conceito de objetos implícitos

Introdução O propósito das JSP é prover um método declarativo e centrado em apresentação para o desenvolvimento de servlets Portanto, elas podem ser definidas como extensões à API dos servlets Portanto, é importante notar que servlets e JSP possuem muitas características em comum.

Como funcionam ? Normalmente as páginas JSP passam por uma fase de tradução e por uma fase de processamento de requisição A fase de tradução acontece uma única vez, a menos que a página JSP seja alterada, caso em que esta fase é repetida O resultado desta tradução é um servlet.

Modelos de Acesso Existem pelo menos duas filosofias diferentes (Modelo 1 e Modelo 2) para se utilizar a tecnologia JSP. Elas diferem, essencialmente, no local onde a maior parte do processamento das requisições é realizado. Arquitetura do modelo 1

Modelo 1 Neste modelo, a requisição que chega vinda do web browser é enviada diretamente à página JSP, a qual é responsável pelo seu processamento e resposta ao cliente Existe separação entre a apresentação e o conteúdo, uma vez que todo acesso a dados é executado por beans Este modelo é adequado para aplicações mais simples Para aplicações mais complexas, ela não é adequada, pois pode embutir muitos scriplets ou código Java dentro da página JSP

Modelo 2 A arquitetura deste modelo 2 constitui-se na implementação do design pattern Model/View/Controller Nesta arquitetura, o processamento é dividido entre componentes de apresentação e de controle

Modelo 2 Os componentes de apresentação são páginas JSP que geram respostas em HTML/XML que constituem-se na interface do usuário Os componentes de controle não se preocupam com questões de apresentação, sendo responsáveis pelo processamento de todas as requisições HTTP Eles também são responsáveis pela criação de quaisquer beans ou objeto,s utilizados pelos componentes de apresentação Também decidem qual componente de apresentação recebe as requisições do usuário

Modelo 2 A principal vantagem deste modelo é que não existe processamento lógico dentro dos componentes de apresentação Eles são responsáveis pela recuperação de quaisquer objetos ou beans que podem ter sido criados pelos controladores, extraindo deles o conteúdo dinâmico que será inserido dentro dos templates de apresentação Esta clara separação entre apresentação e conteúdo facilita a divisão de tarefas entre programadores e web designers durante o desenvolvimento

Sintaxe Básica das JSP A sintaxe das JSP pode ser classificada em elementos de scripting (diretivas, declarações, expressões, scriplets e comentários) Diretivas: são mensagens para o container JSP que, ao invés de produzir resultados visíveis, dizem ao container o que fazer com o resto da página JSP as diretivas são sempre definidas dentro da tag <%@ %> as duas principais diretivas são page e include (a partir da versão 1.1. da API, uma nova diretiva taglib também foi definida)

Diretivas - page Page geralmente encontrada no topo da maioria das páginas podem existir tantas diretivas page quanto necessárias a diretiva <%@ page %> se aplica a todo o arquivo JSP e a qualquer arquivo nele incluído estaticamente exemplos: <%@ page import =“java.util.*, com.foo.*” buffer=“16k” %> <%@ page autoFlush=“false”%> <%@ page errorPage=“error.jsp” %>

Diretivas - include include permite que se divida o conteúdo da página em elementos mais facilmente gerenciáveis, como por exemplo, cabeçalhos, rodapés etc. a página incluída pode ser um arquivo HTML ou uma outra página JSP ou mesmo um arquivo texto a inclusão se dá durante a tradução da página JSP, no momento em que ela é compilada diz-se, portanto, que a inclusão é estática exemplo: <%@ include file = “copyright.html” %>

Outro exemplo de include Suponha o seguinte arquivo JSP denominado date.jsp: <%@ page import = “java.util.*” %> <%= (new java.util.Date()).toLocaleString() %> Ele vai ser importado da seguinte maneira (suponho o seguinte arquivo x.jsp): <html> <head><title>Teste de Include</title></head> <body> A Hora atual é <%@ include file = “date.jsp” %> </body> </html>

Declarações Permitem que sejam definidas variáveis, em nível de página, para o armazenamento de informações permitem ainda a definição de métodos que possam vir a ser necessitados pela página a tag que define declarações é: <%! %> é obrigatório que a declaração de variáveis se encerre com ponto-e-vírgula exemplo: <%! int i =0; %> <%! public void seila() { // seila o que vc coloca aqui } %>

Expressões Em JSP, os resultados da avaliação de uma expressão são convertidos em uma string e diretamente incluídos dentro da página de saída tipicamente expressões são utilizadas para apresentar valores simples de variáveis ou valores retornados pela invocação de métodos get de beans a tag que define expressões é: <%= %> não se pode incluir ponto-e-vírgula ao final de uma expressão. Exemplos: <%= variavelQualquer %> <%= qualquerBean.getName() %>

Scriplets Contém um fragmento de código válido na linguagem de script definida para a página o código contido no scriplet é executado quando a requisição é atendida pela página JSP o scriplet pode conter qualquer quantidade de comandos, declarações de variáveis e métodos ou expressões válidas é importante lembrar que quaisquer tags HTML ou elementos JSP devem ser declarados fora do scriplet

Scriplets A tag que define um scriplet é: <% %> exemplo: <% for (int i = 1; i <= 4; i++) { %> <h<%=i%>> Oi Mundo </h<%=i%>> <% } %> outro exemplo: <% String nome = null; if (request.getParameter(“nome”) == null) { %> <%@ include file = “erro.html” %> <% else { // faz outras coisas } %>

Comentários Existem dois tipos diferentes de comentários possíveis de serem utilizados: um que deixa visível o comentário ao usuário da página quando este visualiza o conteúdo da mesma (comentário em nível de HTML) outro que esconde o comentário do usuário da página (comentário em nível de servidor ou comentário escondido) A tag que define a sintaxe do primeiro tipo é: <!-- comentário --> A tag que define a sintaxe do segundo tipo é: <%-- comentário --%>

Introdução a escopo de objetos Escopo ou visibilidade é um assunto importante para JSP os objetos podem ser criados: implicitamente através de diretivas JSP explicitamente através de ações diretamente dentro do próprio código script estes objetos podem ser associados com um atributo de escopo que define onde este objeto pode ser referenciado (existe referência válida) e quando esta referência deixa de existir (fica inválida)

Introdução a escopo de objetos Resumidamente, a figura abaixo apresenta os escopos definidos:

Introdução a Objetos Implícitos Automaticamente, o container JSP disponibiliza objetos implícitos que estão disponíveis e podem ser utilizados dentro de scriplets e expressões estes objetos agem como wrappers de classes e interfaces normalmente definidas dentro da API de servlets. Existem 9 objetos implícitos: request: muito utilizado, representa o serviço de invocação disparado pela classe HttpServletRequest. Seu escopo é requisição (request)

Introdução a Objetos Implícitos response: pouco utilizado, representa a classe HttpServletResponse (resposta à requisição). Seu escopo é página (page) pageContext:encapsula a classe PageContext (que define características dependentes da implementação). Seu escopo é página (page) application: representa a classe ServletContext obtida a partir do objeto de configuração do servlet. Seu escopo é aplicação (application) out: um objeto da classe JspWriter que permite escrever no stream de saída. Seu escopo é página (page) config: representa a classe ServletConfig. Seu escopo é página (page)

Introdução a Objetos Implícitos page: pouco utilizado, é sinônimo para o operador this. Seu escopo é página (page) session: representa um objeto da classe HttpSession. Seu escopo é sessão (session) exception:representa um objeto da classe Throwable, resultando da invocação da página de erro. Seu escopo é página (page)