close

JavaServer Faces

Ir para a navegação Ir para a pesquisa
JavaServer Faces
JavaServer Faces Logo
Tipo de estrutura da web
Autor Sun Microsystems
Desenvolvedor Sun Microsystems
Escrito em Java
Sistema operacional Software multiplataforma
Plataforma de hardware Edição Empresarial da Plataforma Java
última versão
Licença Eclipse Public License 2.0 [d] e exceção de vinculação GPL [d]
Local na rede Internet javaserverfaces.java.net
 Arquivos de mídia no Wikimedia Commons

JavaServer Faces (JSF) é uma especificação Java para construir interfaces de usuário orientadas a componentes para aplicações web, escritas em Java . Serve para facilitar o desenvolvimento de interfaces de usuário para aplicativos Java EE . Ao contrário de outras estruturas MVC que são orientadas por solicitação, a abordagem JSF é baseada no uso de componentes. O estado dos componentes da interface do usuário é salvo quando o usuário solicita uma nova página e, em seguida, restaurado se a solicitação for repetida. JSP , Facelets geralmente são usados ​​para exibir dados , mas JSF também pode ser adaptado para outras tecnologias, como XUL .

A tecnologia JavaServer Faces inclui:

  • Um conjunto de APIs para representar componentes de interface do usuário ( UI ) e gerenciar seu estado, manipulação de eventos e validação de entrada, definições de navegação e suporte para internacionalização ( i18n ) e acessibilidade.
  • Uma biblioteca de tags JSP especial para expressar uma interface JSF em uma página JSP. O JSF 2.0 usa Facelets como um manipulador de visualização, substituindo o JSP.

Projetado para ser flexível, o JavaServer Faces aproveita os conceitos de interface de usuário padrão (UI) e de camada da Web existentes sem bloquear o desenvolvedor em uma linguagem de marcação, protocolo ou dispositivo cliente específico. As classes de componentes de UI enviadas com a tecnologia JavaServer Faces contêm a funcionalidade do componente em vez da renderização específica do cliente, permitindo assim que os componentes JSF sejam renderizados em diferentes dispositivos clientes. Ao combinar a funcionalidade dos componentes da interface do usuário com renderizadores personalizados, os desenvolvedores podem construir tags personalizadas para um determinado dispositivo cliente. Como conveniência, a tecnologia JSF fornece um renderizador específico e uma biblioteca de tags JSP especial para renderização em um cliente HTML , permitindo que os desenvolvedores de aplicativos da plataforma J2EE usem a tecnologia JSF em seus aplicativos.

Versões JSF

  • JSF 1.0 (03/11/2004) - lançamento inicial sob a especificação JSF
  • JSF 1.1 (27/05/2004) - correções de bugs. Não há mudanças significativas.
  • JSF 1.2 (11.05.2006) - correções de bugs. Não há mudanças significativas.
    • melhorias fornecem uma solução temporária para o problema de conteúdo confuso [3]
    • fornece esquema XML para arquivos de configuração em vez de usar DTD
    • os aprimoramentos permitem que os aplicativos funcionem com interfaces de usuário com vários quadros ou várias janelas.
    • f: melhorias na biblioteca de tags para melhorar a cobertura do TCK , f: visualizar eventos do ciclo de vida e outras pequenas melhorias.
    • suporte de decorador aprimorado para objetos de API
    • o procedimento para salvar o estado do cliente ficou mais protegido.
    • resolveu o problema de clicar duas vezes no botão
    • a especificação foi re-particionada em partes padrão e não padrão para facilitar a implementação
    • bugs corrigidos relacionados a portlets
    • pequenas correções de especificações
  • JSF 2.0 (19/10/2009) - Grande revisão da especificação baseada na experiência de desenvolvimento. Mesclado com Java EE 6.
  • JSF 2.1 (22/11/2010) - Versão de manutenção para suporte a JSF 2.0. Poucas mudanças na especificação.
  • JSF 2.2 (21/05/2013) - Introduziu novos conceitos, como estado sem estado, fluxo de página e a capacidade de criar contratos de recursos portáteis.
  • JSF 2.3 (28/03/2017) - Principais recursos: pesquisas de expressão, URLs sem extensões, validação de bean para classes completas, mensagens push usando WebSocket , integração CDI aprimorada.

Crítica

As versões 1.* do JSF não forneciam suporte de alto nível para lidar com solicitações GET [4] , o que tornava muito mais difícil desenvolver aplicativos baseados em princípios REST . Na segunda versão da especificação, essa deficiência é quase completamente eliminada.

O designer da linguagem Java, James Gosling , descreveu a tecnologia JSP por trás do JSF como “um projeto clone Microsoft ASP que foi criado apenas para demonstrar o quão ruim é a ideia; mas por alguma razão o modelo recusou-se a morrer” [5] .

Bibliotecas e componentes

Veja também

Notas

  1. Versão 3.0.0 - 2020.
  2. Versão 4.0.0 - 2022.
  3. Hans Bergsten. Melhorando JSF por Dumping JSP  (inglês)  (downlink) (9 de junho de 2004). Recuperado em 8 de agosto de 2009. Arquivado do original em 22 de fevereiro de 2012.
  4. Andy Schwartz Blog: O que há de novo no JSF2? . Recuperado em 2 de outubro de 2010. Arquivado a partir do original em 5 de outubro de 2010.
  5. James Gosling sobre Apple, Apache, Google, Oracle e o Futuro do Java. 0:48:22 . Recuperado em 28 de setembro de 2017. Arquivado a partir do original em 22 de abril de 2017.
  6. Página inicial do RichFaces  (inglês)  (link não disponível) . Recuperado em 1º de abril de 2010. Arquivado do original em 22 de fevereiro de 2012.

Links

Literatura

  • David M. Gehry, Kay S. Horstmann. Java Server Faces. Biblioteca Pro = JavaServer Faces. ESSENCIAL. - 3ª edição. - M. : Editora "Williams", 2011. - 544 p. - ISBN 978-5-8459-1706-5 , 978-0-13-701289-3.