JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan

Slides:



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

JBanana.
Introdução a JSF Marco Antonio.
Relatórios Marco Antonio Software Architect Agosto
Framework para desenvolvimento web
Objetos Implícitos Contextuais
Web Application Interface Grupo ECFJ Edson e Jorge.
Desenvolvimento Web em Java com Java Server Faces (JSF)
Rodrigo Braga Pinheiro
Jakarta Struts 1.1 Ago/2006 Softplan/Poligraph Alessandro Lemser
Itamir de Morais Barroca Filho Mario V. Andrade de Melo Neto
Java Server Faces Leandro O. Gomes Primeiros passos - FES(2009-1)
Aplicações para Web.
WebWork e JSP Keven andrade
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
Aplicativos Web Com Orientação a Objetos
PÁginas Dinâmicas Programação Web.
Grupo de Pesquisa em ENGENHARIA DE SOFTWARE
Web Services Uninorte Semana de Tecnologia da Informação
Integração com Banco de Dados
Introdução ao JSF Daniel Bruno
Curso de JavaWeb Módulo 1 e 2 Instrutores: Rodrigo Cardoso
Struts Java avançado – PCC Jobson Ronan
Configuração do Ambiente de Desenvolvimento
Conceitos de J2EE para a WEB
Aula 2 – Primeiros Passos com a arquitetura Web Servidor
PESQUISADOR: CASSIANO DALCIN / 2010 Trabalho de Conclusão de Curso MINISTÉRIO DA EDUCAÇÃO Universidade Tecnológica Federal do Paraná Campus Medianeira.
Java para Web com Struts
Formulários HTML Jobson Ronan
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
JSP e Servlets ISEP – LP2 Filipe Costa – /2004.
Aplicativos Web Com Orientação a Objetos
Aula 2 – Primeiros Passos com a arquitetura Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas.
Hibernate + JBoss Mapeamento O-R em aplicações corporativas Ricardo Cavalcanti Jobson Ronan
Arquitetura das JSP - Aula 2
Implementação MVC Pedro Antonino.
Aplicações Web com Orientação a Objetos
JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF Dezembro/2005.
Conceitos da arquitetura
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Bruno Inojosa MCP.NET Framework.NET com C#. Aula V  Tópicos abordados:  Desenvolvendo para internet (Parte III) Gerenciamento de Estados User Controls.
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.
Ultimos recursos Jobson Ronan
Framework MVC Francisco do Nascimento PSC - Programação de Softwares Corporativos UNIBRATEC, novembro de 2008.
JSP – Mais Recursos Jobson Ronan
SISTEMA PROCESSUAL DIGITAL
Programação com Objetos Distribuídos J2EE Web 1 Componentes Web do J2EE 5.0 Cristina Ciprandi Menegotto.
ZK RIA com ZK Framework.
Seminário JavaServer Faces Paulo Venancio Lopes Daniel Sguillaro.
Developing Web Applications with JavaServer Faces (Qusay H. Mahmound) Luiza Pagliari Pablo Grigoletti Universidade Federal do Rio Grande do Sul Programa.
Um estudo da ferramenta EGEN Developer Vitor Hugo Becker Departamento de Informática da Universidade Federal do Rio Grande do Sul – UFRGS.
Ciclo de vida JSF Desenvolvimento de Sistemas Web
Conceitos Programação Web.
Academia de Ensino Superior Prof. André Morais Desenvolvimento de Aplicações Web na plataforma Microsoft Desenhando a página.
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
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.
Apache Struts 1. Idéias principais Model View Controller Front Controller Action Mapping Form Beans Struts Tags Plugins Desenvolvimento web com Java #
ALUNO: RONI FABIO BANASZEWSKI Model-View-Controller.
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:

JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan

O que é?  Um framework padrão(Standard) para aplicações webs  Define um modelo de programação  Componentes Reusáveis  Gera HTML a partir dos componentes  Validação e conversão  Arvore de componentes

Objetivos  Simplificar o desenvolvimento  Suporte por ferramentas  Eventos facilmente ligado a código server-side  Fácil de estender  Gerenciar o estado da UI

Padrões e Arquitetura  Model-View-Controller (MVC)  Baseada em factories  Árvore de componentes (Composite)  Eventos do lado do servidor

Mas o que é mesmo?  Uma aplicação JSF é como qualquer outra aplicação web Java  Roda dentro de um servlet container, e normalmente é composta de:  Simples componentes Java Beans  Event Listeners  Páginas, como páginas JSP  Outras classes como classes de acesso a dados

Mas o que é mesmo?  Em adição aplicações JSF também contém:  Uma tag library para renderizar os componentes gráficos na página  Uma tag library para tratamento de eventos, validações e outras acções  Backing Beans, que definem propriedades e funções para os componentes gráficos

Mas o que é mesmo?  Além de:  Classes implementando validators, converters, event listeners e event handlers  Um descritor de aplicação para configurar o funcionamento da mesma

Como usar?  Prescisa-se de uma implementação:  Implementação de referência  MyFaces, do grupo Jakarta

Ciclo de vida do Request- response

Como usar?  Declarar o Faces Servlet (Front Controller) web.xml Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.jsf contextConfigLocation /WEB-INF/faces-config.xml

Como usar?  Características  Front Controller MVC (como Struts)  Configuravel através de parametros de contexto

Simples exemplo  Botão “trocar” troca o conteúdo do campo1 pelo do campo2, e vice- versa

Implementando páginas  TagLibraries  UIComponent + HTML RenderKit Renderer  Core JavaServer Faces

UIComponent + HTML RenderKit Renderer   Define um campo de entrada de texto  Atributos value: expressão que indica o conteúdo do campo. Possivelmente uma propriedade de um bean

UIComponent + HTML RenderKit Renderer   Define um botão de ação  Atributos action: expressão que indica a ação a ser invocada quando este componente for ativado actionListener: expressão que indica o método de listener que será notificado quando este componente for ativado

UIComponent + HTML RenderKit Renderer   O método “trocar” do bean Trocar, não deve receber parâmetros e deve retornar uma String

UIComponent + HTML RenderKit Renderer   Renderiza um componente “a” HTML que funciona como um botão submit de um form Uso análogo ao commandButton

UIComponent + HTML RenderKit Renderer   Renderiza um formulário HTML

Core JavaServer Faces   Container para todos os componentes usados na página  Todos os componentes JavaServer Faces devem ser aninhados a este

Exemplo completo Troca Exemplo Campo1: Campo2:

Backing Bean Model  Que bean “TrocaBean” é este? package pcc; public class Troca { private String campo1; private String campo2; //gets e sets... public String troca() { String temp = campo1; campo1 = campo2; campo2 = temp; return “sucesso”; }

Backing Bean Model  Declarado no faces-config.xml <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" " TrocaBean pcc.Troca request

Backing Bean Model Demostração...

Validação  Suporte validação de campos de entrada de forma declarativa ,, e outros validators customizados podem ser aninhados campos de entrada

Validação  Suporte validação de campos de entrada de forma programática  Um método do bean no formato public void xyz(FacesContext faces, UIComponent coponent, Object value)  Uma classe que implemente a interface javax.faces.validator.Validator

Validação  Mensagens de erro podem ser impressas utilizando a tag  Atributos for: O id do campo do qual deseja-se mostrar uma mensagem, possivelmente de erro

Validação Demostração...

O que mais?  Navegação definida no faces- config.xml  Condicionada e método do bean  Condicionada a retorno do método do bean

O que mais?  Exemplo (faces-config.xml) /troca.jsp success /trocaSucesso.jsp

O que mais?  Injeção de dependência nos beans  Suporte a internacionalização

O que mais?  Converters para a conversão de entradas em objetos específicos  Implementados de formas análogas a validação  Listeners de eventos do usuário  Implementados de formas análogas a validação e a converters

O que mais?  Gerênciadores de layout   Geração de Tabelas de dados total suporte a coleções 

O que mais?  Suporte a outros tipos de entrada

O que mais?  Implementação open-source, MyFaces (jakarta), com excelentes componentes customizados  Geradores de menus  Geradores de popups  Geradores de Barra de navegação  Grande quantidade de Validators customizados: Validator, CreditCardValidator, etc.

O que mais?  Suporte de ferramentas comerciais para geração Drag’n Drop  Sun Java Studio Creator  IBM Webspheere  JDeveloper (free)  Uma tecnologia de geração de páginas a altura de ASP.NET  Porém, com toda a maturidade da linguagem Java no ServerSide