Seminário JavaServer Faces Paulo Venancio Lopes Daniel Sguillaro.

Slides:



Advertisements
Apresentações semelhantes
Aplicação de exemplo Struts Aplicação de exemplo
Advertisements

ARQUITETURA EM CAMADAS
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Framework para desenvolvimento web
Objetos Implícitos Contextuais
JSP Segundo Semestre – 2008 Professor Glaucio Bianchini
Desenvolvimento Web em Java com Java Server Faces (JSF)
Alcides Calsavara JSP JavaServer Pages Alcides Calsavara
Java Server Pages (JSPs)
Tecnologia para Web JavaScript
Prof.: Carlos Hairon R. Gonçalves
Java Server Faces Leandro O. Gomes Primeiros passos - FES(2009-1)
Aplicações para Web.
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.
Model-View-Controller (MVC) em Aplicações Web Eduardo Martins Guerra Desenvolvimento de Soluções WEB.
Tecnologias para Internet
EL e JSTL Prof. Danton Cavalcanti Franco Junior
Desenvolvimento de Projetos e Aplicações Web
Tópicos avançados em internet B Carlos Oberdan Rolim Ciência da Computação.
Aplicativos Web Com Orientação a Objetos
Desenvolvimento WEB I Camila Nunes
PÁginas Dinâmicas Programação Web.
Capítulo 2 Java Servlets.
Filtros. O que são Filtros Um filtro é um componente Web que reside no servidor Intercepta as requisições e respostas no seu caminho até o servlet e de.
Curso de JavaWeb Módulo 1 e 2 Instrutores: Rodrigo Cardoso
Struts Java avançado – PCC Jobson Ronan
Conceitos de J2EE para a WEB
Aula 2 – Primeiros Passos com a arquitetura Web Servidor
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
1 Servlet Prof. Alexandre Monteiro Recife. Contatos n Prof. Guilherme Alexandre Monteiro Reinaldo n Apelido: Alexandre Cordel n /gtalk:
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.
Arquitetura das JSP - Aula 2
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.
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Padrões de Interação com o Usuário
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Introdução ao ASP.Net 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
PEC - JSP Jobson Ronan Objetivos Esta aula apresenta tudo o que é necessário para implementar servlets escrevendo JavaServer Pages.
JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan
JSP – Mais Recursos 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.
Developing Web Applications with JavaServer Faces (Qusay H. Mahmound) Luiza Pagliari Pablo Grigoletti Universidade Federal do Rio Grande do Sul Programa.
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.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Aplicativos para Internet Prof. Wolley W. Silva
Universidade Federal de Sergipe Departamento de Sistemas de Informação Bruno Cruz Jessica Rodrigo Aragão – ASP.NET MVC 3.
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
OCLE Object Constraint Language Environment Fábio Moura CIn-UFPE.
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.
Visão Geral de Desenvolvimento Web Front End Tecnologias.
Prof. Rogerio Alessandro Bueno 1 JavaServer Pages (JSP) Prof. Rogério A. Bueno.
Servlets Manoel Neto Objetivos Aprender  Como escrever um servlet  Como compilar um servlet  Como executar Também serão.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
1 Arquitetura e JSF Gustavo Wagner
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Transcrição da apresentação:

Seminário JavaServer Faces Paulo Venancio Lopes Daniel Sguillaro

Tópicos ● Introdução ● Aplicação Web ● Tecnologia Java Servlet ● Custom Tags ● JavaServer Pages ● JavaServer Faces

Aplicação Web Aplicação web é a extensão dinâmica da web ou application server, e são divididas em dois tipos: ● Presentation-oriented: Cria páginas interativas contendo HTML, XML, e outros, e conteúdos dinâmicos em resposta a uma requisição. ● Service-oriented: Implementa a parte final de um web service. Aplicações presentation-oriented são frequentemente clientes de uma aplicação service- oriented web.

Aplicação web (continuação) Interação entre um cliente e uma aplicação web:

Aplicação web (continuação) ● Servlets: são classes java que dinamicamente processam requisições e constroem respostas. ● Paginas JSP: são documentos textos que são executados como servlets e são apropriados para geração de markup language tais com HTML, SVG, WML, e XML.

Aplicação web (continuação) Relação entre as tecnologias de aplicação java web

● Ciclo de vida da aplicação Web ● Desenvolvimento do código do componente web. ● Desenvolvimento do descritor de implantação. ● Compilar componentes da aplicação web e classe auxilares. ● Opcionalmente empacotar a aplicação em uma unidade de implantação. ● Implantar a aplicação em um web container. ● Acessar a URL que referência a aplicação web.

Módulo Web

Empacotando Módulos Web Um módulo web pode ser empacotado num arquivo *.war que é simplesmente um arquivo *.jar renomeado, para ser implantado em um web container. Mas pode se implantar o módulo diretamente.

Implantando Módulo Web Pode-se implantar o módulo de duas forma: 1. Copiando o módulo web para o diretório de implantação do web container. 2. Copiando o pacote do módulo web (arquivo *.war) no diretório de implantação do web container. Obs1: Pode-se ainda no caso do Tomcat configurar o descritor server.xml para que identifique o módulo web. Obs2: Um context root identifica a aplicação web num JEE server (ex:

Tecnologia Java Servlet Um servlet é uma classe java que extende as capacidades do servidor que acessam aplicações num modelo de programa requisição e resposta. Todos os servlets podem responder qualquer tipo de requisição, para cada aplicação a tecnologia java servlet define classes servlet especificas para HTTP.

Tecnologia Java Servlet (cont.) Os pacotes javax.servlet e javax.sservlet.http provem interfaces e classes para escrever servlets. Todos servlets devem implementar a interface Servlet, a qual define os métodos de ciclo de vida

Ciclo de Vida do Servlet O ciclo de vida de um servlet é controlado pelo container no qual o servlet tenha sido implantado. Quando uma requisição é mapeada para o servlet, o container performa os seguintes passos. 1. Se uma instância do servlet não existe, o web container : a. Carrega a classe do servlet.

Ciclo de Vida do Servlet (cont.) b. Cria uma instância da classe do servlet. c. Inicializa a instância do servlet chamando o método init. 2. Invoca o método service, passando os objetos request e response. Obs: Se o container necessitar remover o servlet, ele finaliza o servlet chamando o método destroy.

Custom Tags numa página JSP É o elemento da linguagem JSP definida por um Usuário.

Tecnologia JavaServer Pages JavaServer Pages (JSP) permite fácil criação de conteúdos web sendo ambos componentes dinâmicos e estáticos. Página JSP é um documento texto que contém dois tipos de textos: dados estáticos (HTML, SVG, WML, XML, e outros), e elementos JSP, para construir conteúdos dinâmicos (recomenda-se a extensão *.jsp).

Ciclo de vida da Pagina JSP S ão determinadas pela tecnologia Java Servlet. Quando um request é mapeado para uma página JSP, o web container primeiro checa se o servlet da pagina JSP é mais velha do que a pagina JSP. Se for o web container traduz a pagina JSP para uma classe servlet e a compila. Durante o desenvolvimento, uma das vantagens das paginas JSP sobre o servlet é que o processo de construção é feito automáticamente

Ciclo de vida da Pagina JSP (Cont.) Tradução e compilação Durante a fase de tradução cada tipo de dado na pagina JSP é tratado diferentemente. Dados estáticos são transformados em código que emitirão dados para o stream de resposta. ●

Ciclo de vida da Pagina JSP (Cont.) Os elementos JSP são tratados como a seguir: Diretivas são usadas para controlar como o web container traduz e executa a pagina JSP. Elementos scripts são inseridos no servlet da pagina JSP.

Ciclo de vida da Pagina JSP (Cont.) ● Expressões Expression Language são passadas comparâmetros para as chamadas para o JSP expressionevaluator. ● jsp:[set|get]Property elemento é convertido numa chamada para método no componente JavaBeans.

Ciclo de vida da Pagina JSP (Cont.) O jsp:plugin elemento é convertido num específico browser markup para ativação num applet. Custom tags são convertidas em chamadas para o tag handler que implementa a custom tag. jsp:[include|forward] elemento é convertido numa invocação da API Java Servlet.

Scripts nas paginas JSP Elementos scripts são usados tipicamente para criar e acessar objetos, definir métodos, e gerenciar fluxo de controle. Muitas tarefas que usam scripts podem ser eliminadas usando custom tag library.

Scripts nas paginas JSP (cont.) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> JSP Expressions <META NAME="keywords" CONTENT="JSP,expressions,JavaServer,Pages,servlets"> <META NAME="description" CONTENT="A quick example of JSP expressions."> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css">

Scripts nas paginas JSP (cont.) JSP Expressions Current time: Your hostname: Your session ID: The testParam form parameter:

Sintaxe básica - JSP Texto HTML – Blah – Passado para o cliente. Transformado em código servlet: out.print(" Blah "); Comentários HTML – – Mesmo que um outro HTML: Passado para o cliente Comentário JSP – – Não envia para o cliente

Tipos de elementos scripts Expressões – Formato: – Avaliada e inserida na saída do servlet: out.print(expression) Scriptlets – Formato: – Incorporado ao método do servlet _jspService Declarações – Format: – Inserido no corpo de uma classe servlet, fora de qualquer método.

Expressões JSP Formato – Result – Expressão avaliada, convertida para String, e colocada na página HTML no local onde ocorre na página JSP. – Expressão colocada no método _jspService dentro do out.print Exemplos – Data: – Hostname: Sintaxe XML – Expressão Java – Versão XML não suportada pelo TomCat 3. Deste JSP 1.2 os servidores não eram obrigados a suportá-la.

Correspondência JSP/Servlet JSP Original A Random Number Código do servlet public void _jspService(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); HttpSession session = request.getSession(true); JspWriter out = response.getWriter(); out.println(" A Random Number "); out.println(Math.random());... }

JavaServer Faces (JSF) Introdução Ciclo de vida Usando JSF em paginas JSP Usando tags JSF Usando dados localizados Conversores e validadores. Backing Bean

JSF – Introdução É um framework do lado servidor baseado em aplicações WEB.

JSF – Introdução(cont.) JSF contém: JavaBeans Event Listener Páginas JSP Classes auxiliares do lado do servidor Biblioteca de componentes UI Biblioteca de event handlers, validators, e etc...

JSF – Introdução(cont.) Backing Beans Arquivo de configuração da aplicação

JSF – Ciclo de vida

JSF – Usando JSF em páginas JSP Definir entrada para JSF HTML render kit Definir entrada para JSF Core tag lib

Usando JSF em páginas JSP (cont.) As tags suportam os seguintes atributos: Id: Único identificador do componente. Imediate: Se true, indica que qualquer evento, validação, e conversão associado a um componente será aplicada na fase request value ou nas próximas fases.

Usando JSF em páginas JSP (cont.) Style: Especifica um cascading style sheet (css) para a tag. styleClass: Especifica um css styleshet que contém definições de estilo. Value: Identifica uma fonte de dados externa e associa seu valor a ele.

Usando JSF em páginas JSP (cont.) Binding: identifica um bean property e associa o componente instanciado por ele.

Usando dados localizados Textos estáticos(labels, textos alternativos,etc) Mensagens de erro Dados dinâmicos Para carregar dados localizados temos que: 1. Registrar o resource bundle 2. Carregar o resource bundle

Conversores e Validadores (cont.) Para registrar conversores padrões: Associar value do componente para o backing bean do mesmo tipo. Referenciar o converter pela classe ou pelo atributo ID da tag do componente. Usar tag converterId ou tag binding aninhado no componente.

Conversores e Validadores (cont.) Via backing bean Integer age = 0; public Integer getAge(){ return age;} public void setAge(Integer age) {this.age = age;} Via atributo converter

Conversores e Validadores (cont.) BigDecimalConverter, BigIntegerConverter, BooleanConverter, ByteConverter,CharacterConverter DateTimeConverter, DoubleConverter, FloatConverter, IntegerConverter, LongConverter,NumberConverter, ShortConverte

Conversores e Validadores (cont.) DataTimeConverter NumberConverter

Conversores e Validadores (cont.) Registrando value-change listener Registrando action listener no componente

Conversores e Validadores (cont.) Validadores padrão DoubleRangeValidator LengthValidator LongRangeValidator Exemplo:

Backing Bean Suas propriedades devem referenciar: Um valor do componente Uma instância do componente Uma instância do converter Uma instância do listener Uma instância do validator

Backing Bean (cont.) private Integer userNumber = null; public void setUserNumber(Integer user_number) { userNumber = user_number; } public Integer getUserNumber() { return userNumber; } public String getResponse() {... }

Backing Bean (cont.) Configuração: UserNumberBean g.UserNumBean session

Fórmula p/ usar JSF 1. Criar um bean representando os dados de um formulário 2. Usar as tags do JSF para criar o formulário 3. Especificar na tag h:commandButton um método a ser chamado quando o formulário for enviado (ActionController)

Fórmula p/ usar JSF (cont.) 4.Criar o Action Controller - suas responsabilidades são: ● Ler os dados do formulário ● Chamar a lógica de negócio ● Popular os beans que contém os resultados ● Devolver uma condição

Fórmula p/ usar JSF (cont.) 5. Declarar o form bean e as regras de navegação no descritor faces-config.xml 6. Criar as páginas JSP para cada condição devolvida

Exemplo Formulário de cadastro, onde os dados fornecidos pelo usuário farão com que o JSF tome a de qual pagina será mostrada a seguir.

Exemplo (cont.) … Nome:

Exemplo (cont.) Sobrenome:... <h:commandButton value=“Cadastrar Dados" action="#{bean.cadastrar}"/> …

Exemplo (cont.) Criando um action controller package exemplo; public class CadastroBean { private String nome = “”; private String sobrenome = “”; // getters e setters...

Exemplo (continuação) public String cadastrar() { if (nome.trim().equals(“”) || sobrenome.trim().equals(“”) ) { return(“rejeitado"); } else { return(“aceito"); }

Exemplo (cont.) Declarando o action controller bean exemplo.CadastroBean

Exemplo (cont.) request …

Exemplo Especificando regras de navegação /cadastro.jsp aceito

Exemplo (continuação) /WEB-INF/result/aceito.jsp rejeitado /WEB-INF/results/rejeitado.jsp

Exemplo (continuação) …

Exemplo (cont.) … Cadastro do usuário ${bean.nome} ${bean.sobrenome} aceito. Parabéns.

Exemplo (cont.) … Cadastro rejeitado. Tente de novo.

Referências Tutorial JEE da Sun: Geary, David; Horstmann Cay - Core JavaServer Faces, 2004 Bergsten, Hans; JavaServer Faces, O’Reilly, 2004