Jsf – Java Sever Faces

8.763 visualizações

Publicada em

Trabalho de Faculdade
Jeanny Paiva Lopes
Gabriel de Oliveira Aparecido
UNIPAC - Ubá-MG

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Jsf – Java Sever Faces

  1. 1. JSF – JAVA SEVER FACES
  2. 2. O que é o JSF? <ul><li>JSF é uma tecnologia que incorpora características de um framework MVC (Model-View-Controller) para WEB e de um modelo de interfaces gráficas baseado em eventos. Por basear-se no padrão de projeto MVC, uma de suas melhores vantagens é a clara separação entre a visualização e regras de negócio (modelo). </li></ul><ul><li>A idéia do padrão MVC é dividir uma aplicação em três camadas: modelo, visualização e controle. O modelo é responsável por representar os objetos de negócio, manter o estado da aplicação e fornecer ao controlador o acesso aos dados. A visualização representa a interface com o usuário, sendo responsável por definir a forma como os dados serão apresentados e encaminhar as ações dos usuários para o controlador. Já a camada de controle é responsável por fazer a ligação entre o modelo e a visualização, além de interpretar as ações do usuário e as traduzir para uma operação sobre o modelo, onde são realizadas mudanças e, então, gerar uma visualização apropriada. </li></ul>
  3. 3. O Padrão MVC segundo JSF <ul><li>No JSF, o controle é composto por um servlet denominado FacesServlet, por arquivos de configuração e por um conjunto de manipuladores de ações e observadores de eventos. O FacesServlet é responsável por receber requisições da WEB, redirecioná-las para o modelo e então remeter uma resposta. Os arquivos de configuração são responsáveis por realizar associações e mapeamentos de ações e pela definição de regras de navegação. Os manipuladores de eventos são responsáveis por receber os dados vindos da camada de visualização, acessar o modelo, e então devolver o resultado para o FacesServlet. </li></ul><ul><li>O modelo representa os objetos de negócio e executa uma lógica de negócio ao receber os dados vindos da camada de visualização. Finalmente, a visualização é composta por component trees (hierarquia de componentes UI), tornando possível unir um componente ao outro para formar interfaces mais complexas. </li></ul>
  4. 4. Arquitetura JSF baseada no modelo MVC
  5. 5. Caracteristicas <ul><li>Permite que o desenvolvedor crie UIs através de um conjunto de componentes UIs pré-definidos; </li></ul><ul><li>Fornece um conjunto de tags JSP para acessar os componentes; </li></ul><ul><li>Reutiliza componentes da página; </li></ul><ul><li>Associa os eventos do lado cliente com os manipuladores dos eventos do lado do servidor (os componentes de entrada possuem um valor local representando o estado no lado servidor); </li></ul><ul><li>Fornece separação de funções que envolvem a construção de aplicações Web. </li></ul>
  6. 6. Caracteristicas (cont.) <ul><li>JSF inclui: </li></ul><ul><li>Suporte a internacionalização e acessibilidade; </li></ul><ul><li>Um conjunto padrão de componentes de interface de usuário que possibilitam validação padronizada; </li></ul><ul><li>Duas bibliotecas de etiqueta (&quot;tag libraries&quot;) especiais do JavaServer Pages (JSP) para expressar a interface do JavaServer Faces dentro de uma página JSP; </li></ul><ul><li>Um modelo de eventos do lado servidor (&quot;server-side event model&quot;); </li></ul><ul><li>Gerência de estados; </li></ul><ul><li>Managed Beans (JavaBeans criados com injeção de dependência (&quot;dependency injection&quot;)); </li></ul><ul><li>Linguagem de Expressão Unificada (&quot;Unified Expression Language&quot;) para JSP 2.0 e JSF 1.2. </li></ul>
  7. 7. Implementações <ul><li>Sun RI (Implementação de Referência. </li></ul><ul><li>Apache MyFaces </li></ul><ul><li>ECruiser </li></ul>
  8. 8. Apache MyFaces <ul><li>A fundação Apache vem envidando esforços na implementação da especificação através do projeto MyFaces. O reconhecimento do trabalho é visto por diversas empresas, tanto é que a Oracle doou os fontes do ADF Faces, conjunto de mais de 100 componentes divididos em vários subprojetos, para o projeto MyFaces que o denominará de Trinidad. </li></ul><ul><li>Seus componentes são completamente compatíveis com a implementação de referência da Sun. </li></ul>
  9. 9. Instalação <ul><li>Ferramentas utilizadas: </li></ul><ul><li>Tomcat 5.5 - http://tomcat.apache.org/download-55.cgi </li></ul><ul><li>Apache MyFaces 1.1.5 - http://myfaces.apache.org/download.html </li></ul>
  10. 10. Criando uma aplicação <ul><li>Arquivos de configuração: faces-config.xml, web.xml </li></ul><ul><li>Arquivo JSP: helloworld.jsp </li></ul><ul><li>Arquivo Java: HelloWorldBean.java </li></ul>
  11. 11. Criando uma Aplicação(cont.) Conteúdo da Aplicação Conteúdo da Pasta lib
  12. 12. Criando uma Aplicação(cont.) <ul><li>faces-config.xml </li></ul>C:Arquivos de programasApache Software FoundationTomcat 5.5webappshelloworldWEB-INF <?xml version=&quot;1.0&quot;?> <!DOCTYPE web-app PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quot; &quot;http://java.sun.com/dtd/web-app_2_3.dtd&quot;> <faces-config> <managed-bean> <managed-bean-name>helloWorldBean</managed-bean-name> <managed-bean-class>br.eti.faces.HelloWorldBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> </faces-config> <?xml version=&quot;1.0&quot;?> <!DOCTYPE web-app PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EM“ &quot;http://java.sun.com/dtd/web-app_2_3.dtd&quot;> <web-app> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> </web-app> <ul><li>web.xml </li></ul>Formato XML Inicialização do arquivo de configuração Configuração para a utilização do JSF no Servlet Nome de identificação Identificação das paginas processadas Formato XML Inicialização do arquivo de configuração Classe para trabalhar com JSF Parametros da Classe: NOME CLASSE UTILIZADA COMPORTAMENTO
  13. 13. Criando uma Aplicação(cont.) <ul><li>helloworld.jsp </li></ul>C:Arquivos de programasApache Software FoundationTomcat 5.5webappshelloworld <%@ taglib uri=&quot;http://java.sun.com/jsf/html&quot; prefix=&quot;h&quot;%> <%@ taglib uri=&quot;http://java.sun.com/jsf/core&quot; prefix=&quot;f&quot;%> <html> <title>Exemplo JSF</title> <body bgcolor=&quot;#000000&quot; text=&quot;#FFFFFF&quot;> <center> <font size=&quot;4&quot; face=&quot;Arial, Helvetica, sans-serif&quot;><strong> <f:view> <h:form> <h:outputText value=&quot;#{helloWorldBean.message}&quot;/> </h:form> </f:view> </strong></font> </center> </body> </html> HTML Principal tag do JSF Formulario Componente JSF para imprimir texto/Expressão EL
  14. 14. Criando uma Aplicação(cont.) <ul><li>HelloWorldBean.java </li></ul>package br.eti.faces; public class HelloWorldBean{ private String message; public HelloWorldBean() { message= &quot;Exemplo de Aplicação JSF. Olá Mundo!&quot;; } public void setMessage(String message){ this.message=message; } public String getMessage(){ return message; } } C:Arquivos de programasApache Software FoundationTomcat 5.5webappshelloworldWEB-INFclassesretifaces
  15. 15. Criando uma Aplicação(cont.) <ul><li>Compilação </li></ul>
  16. 16. Criando uma Aplicação(cont.) <ul><li>Resultado: </li></ul>
  17. 17. Referências <ul><li>www.guj.com.br </li></ul><ul><li>http://pt.wikipedia.org/wiki/JavaServer_Faces </li></ul>

×