Respostas:
Então, para resumir:
Não quero tornar as coisas mais confusas, mas observe que o Java EE 6 fornece um equivalente moderno, padronizado e muito agradável das estruturas acima: JSF 2.0 e Facelets para a apresentação, JPA 2.0 para a persistência, Injeção de Dependências etc. novo desenvolvimento, esta é uma opção séria da IMO , o Java EE 6 é uma ótima pilha.
Geralmente...
O Hibernate é usado para manipular operações de banco de dados. Há um rico conjunto de funcionalidades do utilitário de banco de dados, o que reduz o número de linhas de código. Especialmente, você deve ler @Annotation of hibernate. É uma estrutura ORM e camada de persistência.
O Spring fornece um rico conjunto de mecanismos de trabalho baseados em injeção. Atualmente, a primavera é bem conhecida. Você também deve ler sobre o Spring AOP. Há uma ponte entre o Struts e o Hibernate. Principalmente o Spring fornece esse tipo de utilidade.
Struts2 fornece programação baseada em ação. Há um rico conjunto de tags Struts. O Struts prova a programação baseada em ação, para que você tenha todo o controle relevante de sua visão.
Além disso, o Tapestry é uma estrutura diferente para Java. No qual você precisa manipular apenas .tml
(arquivo de modelo). Você precisa criar dois arquivos principais para qualquer classe. Um é a classe JAVA e o outro é o modelo. Ambos os nomes são iguais. A tapeçaria chama automaticamente as classes relacionadas.
Você pode ver a visão geral e a classificação por si mesmo aqui . O Hibernate é um ORM, portanto você pode usar o struts + Hiberante ou spring + hibernate para criar um aplicativo da web. Diferentes estruturas da web e muitas são alternativas entre si.
O Spring é uma estrutura de aplicativos que lida com o COI (Inversão de Controle).
O Struts 2 é uma estrutura MVC de aplicativo da web que lida com ações.
O Hibernate é um ORM (Mapeamento Relacional a Objetos) que lida com dados persistentes.
Em resumo,
Struts é para desenvolvimento front-end do site
O Hibernate destina-se ao desenvolvimento de back-end do site
Spring é para o desenvolvimento de pilha completa do site no qual Spring MVC (Model-View-Controller) é para Front-end. ORM, JDBC para acesso a dados / integração (back-end). etc
O Spring é um framework leve e de código aberto criado por Rod Johnson em 2003. O Spring é um framework completo e modular, o framework Spring pode ser usado para todas as implementações de camada para uma aplicação em tempo real ou o spring pode ser usado para o desenvolvimento de uma camada específica de um aplicativo em tempo real.
Struts é uma estrutura de aplicativos da web de código aberto para o desenvolvimento de aplicativos da web Java EE. Ele usa e estende a API do Java Servlet para incentivar os desenvolvedores a adotar uma arquitetura MVC (Model-View-Controller). Foi originalmente criado por Craig McClanahan e doado à Apache Foundation em maio de 2000.
Listado abaixo está o gráfico de comparação da diferença entre o Spring e o Strut Framework
As páginas e os componentes de tapeçaria são POJO's simples (objeto antigo e simples de Java) que consistem em getters e setters para facilitar o acesso aos recursos da linguagem Java.
As diferenças entre Spring , Struts e Hibernate são as seguintes: