Java tecnologias vista e frameworks - Java view technologies and frameworks
Tecnologias e frameworks vista Java são baseados na web bibliotecas de software que fornecem a interface de usuário , ou " vista-layer ", de Java aplicações web . Tais estruturas de aplicativos são usados para definir páginas da web e lidar com os HTTP solicitações (cliques) gerados por essas páginas da web. Como um sub-categoria de estruturas Web , estruturas de camada de visão se sobrepõem frequentemente em diferentes graus com enquadramentos da web que fornecem outras funcionalidades para aplicações de web Java.
Java estruturas de camada de vista, muitas vezes dizem apoiar alguns ou todos do MVC padrão de design.
Conteúdo
Num relance
| enquadramentos baseados em ação: | Apache Struts , Spring MVC |
|---|---|
| estruturas baseadas em componentes: | Apache Click , Apache Tapestry , Apache Wicket , JavaServer Faces |
| sistemas modelo Web: | Apache Tiles , SiteMesh , Thymeleaf |
- JavaServer Faces (JSF), Apache Tapestry e Apache Wicket estão competindo tecnologias baseadas em componentes, abstraindo o apátrida ciclo de solicitação-resposta HTTP eo API Java Servlet atrás de um objeto-orientado , modelo de componente orientada a eventos.
- Em contraste, escoras e Spring MVC Quadro são estruturas orientadas para a acção que proporcionam uma mais fina camada de abstracção sobre o servlet API .
- Apache Tiles é um framework de modelagem projetado para trabalhar com Struts.
- Facelets é uma tecnologia de definição da visão e modelo projetado para funcionar com JSF.
- SiteMesh pode ser usado com qualquer JSP .
- Facelets, tapeçaria e Wicket têm suas próprias abordagens de modelagem baseada em HTML / XHTML .
- Apache Click usa baseados HTML Apache Velocity modelos e Plain Old Java Objects , com JavaServer Pages opcional.
servlet API
A API Servlet é a base de quase todas as Java Web Visualização de tecnologias. Servlet fornece o mecanismo básico para escrever Java aulas para aplicações web. Servlets pode responder a solicitações HTTP, criar cookies e manter sessões.
Java Server Pages (JSP)
- Construído no topo da API Servlet, JSP fornece um documento-centric, modelos baseados em tag, modelo de programação de servidor que pode gerar muitas formas de conteúdo textual.
- código Java pode ser incorporado em arquivos JSP e é compilado e executado quando um pedido é recebido.
Apache Struts
- Struts prevê uma dissociação do Controlador ea vista.
- Solicitações são recebidas por uma classe Java (Controller), que pode decidir qual Ver para exibir.
- A visão real pode ser escrito em diferentes tecnologias de visualização, como JSP, modelo marcador livre, modelo de velocidade etc.
- Um XML arquivo de configuração é usado para especificar a "Página de Navegação", ou seja, o fluxo de solicitação ao controlador apropriado, e que View para exibir com base no resultado do Controller.
- Competidor : Spring MVC, Grails
Apache Tapestry
- Uma visão framework baseado em componentes.
- As classes são escritas como POJOs e byte do código transformadas em tempo de execução
- Configurado com anotações e convenções de nomenclatura em vez de XML
- Comparado com JSPs, impõe uma clara separação de marcação HTML e código Java.
- modelos HTML pode ser diretamente visualizado por web designers
- classes de componentes alterados são live-recarregada na execução da aplicação para o desenvolvimento mais rápido.
- Usa o / Get Post / Redirect padrão de navegação para envio do formulário.
- Concorrente : Wicket, JSF, HybridJava
Apache Wicket
- Uma visão framework baseado em componentes.
- Páginas interagir diretamente com componentes Java stateful no servidor.
- Componentes e seu estado são geridos pela estrutura Wicket, liberando o desenvolvedor do aplicativo de ter que usar HttpSession diretamente para gerenciar o estado.
- Não requer XML para configuração.
- Comparado com JSPs, impõe uma clara separação de marcação HTML e código Java.
- componentes de página Web são 'empurrados' para a marcação HTML a partir do código.
- Concorrente : Tapeçaria, JSF, HybridJava
JavaServer Faces (JSF) e Facelets
- A especificação para as estruturas vista baseadas em componentes.
- Mojarra e Apache MyFaces implementações estão disponíveis
- Normalmente usa Facelets para XML / modelagem baseada em XHTML.
- As aulas são escritos como POJOs, com anotações ou arquivos de configuração XML usado para associá-los a página e componente modelos.
- O Unified Expression Language permite a ligação campos de componentes e eventos para propriedades de feijão POJO e métodos.
- restrições de conversão e validação podem ser especificado em Facelets e são aplicadas automaticamente, normalmente resultando em repostagem da mesma página com informações de erro em caso de falha.
- A navegação pode ser através de regras de arquivo de configuração ou diretamente especificado na página.
- Pode transparente apoiar Ajax .
- Concorrente : Wicket, Tapeçaria
SiteMesh
- SiteMesh é um quadro de templates HTML com base no modelo "Decoração".
- Ele permite a criação de um modelo 'decoração' que é então aplicada a qualquer outro HTML para gerar um novo HTML.
- A HTML gerada recentemente contém elementos do HTML original misturado com o molde.
- Isso permite que o HTML original para ser muito simples e desprovida de qualquer especificação de formatação ou layout. O modelo, por sua vez, é desprovido de qualquer informação real.
- Misturando os dois permite uma consistente look and feel para todas as páginas da web .
- Concorrente : Tiles
Faísca
- Desencadear um framework web micro construído em torno de um sistema de roteamento simples
- Ele roda em um incorporado Jetty servidor web por padrão, mas pode ser configurado para ser executado em outros servidores web.
- Ele suporta três diferentes motores de modelos: Velocity , FreeMarker e Bigode
- Destina-se a facilitar o rápido desenvolvimento, e não faz uso de anotações ou soluções proprietárias.