Java MVC Web框架的架构差异

4

我正在尝试为我的第一个Web应用程序选择一种AJAX友好的Java框架,并对现有不同类型之间的架构差异感兴趣。

我喜欢MVC框架的概念,因此主要考虑以下内容:

  • 任何JSF变体(ICEFaces、RichFaces、PrimeFaces等)
  • Spring Web Flow
  • ZK
  • Wicket

我已经下载了每个项目并尝试跟随它们的示例/教程,但是有太多信息需要消化,所以我决定先休息一下,来这里了解一些基础知识。

我对这些框架如何实现MVC模式感兴趣。显然,像ICEFaces这样根植于JSF的东西将具有不同的架构,与Spring不同。我相信这是一个巨大的问题,所以我不是在寻找有关每个框架的全面教程;我只是想知道开发人员必须编写哪些工件(Java源代码、XML配置文件等),才能使用这些工具构建一个单独的AJAX驱动页面。 我对它们的方法的差异感兴趣,仅此而已。

例如,我想象每个框架都会在某个时候使用FrontController(或类似的内容)将HttpRequests映射到正确的Controller实现。该Controller(bean)然后需要进行一些处理,可能需要获取一些信息的数据库(使用ORMapping和形成Model),然后构造一个View/HttpResponse发送回客户端。我相信这是一个过度简化,但肯定有一种简单的方法来解释每个框架如何实现高级架构。


1
你打算使用什么 IDE?它们之间的框架支持差异很大,一个好的插件可以让你的生活变得更加轻松。 - Viruzzo
很好的观点Viruzzo - 它将是Eclipse。再次强调,这个问题更多地涉及这些框架如何实现MVC的理论差异,而不是帮助我决定选择哪一个的机制。感谢您的指引! - IAmYourFaja
我希望我能回答这个问题,但我只用过JSF和Spring.. 我可以说的是,要远离JSF。它对请求/响应周期太过严格了。 - mkoryak
谢谢mkoryak - 不知道你所说的“heavy-handed”是什么意思,可以请教一下吗? - IAmYourFaja
3个回答

1

Struts使用ActionServlet(现在只是Action)作为控制器和模型,jsp作为视图。

Spring MVC通过DispatcherServlet实现路由,Model不绑定任何框架相关对象,您可以使用任何对象。

JSF - UI jsp或jsf本身,Model - ManagedBean,Controller - FacesServlet。

我之前为自己的项目进行了类似的搜索,可以查看下面的链接:

基于多个参数的比较:http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFrameworks.pdf

JSF和Struts之间的区别

http://struts.apache.org/2.0.14/docs/what-are-the-fundamental-differences-between-struts-and-jsf.html

相关帖子

https://stackoverflow.com/questions/7633583/which-mvc-is-better-spring-or-struts

Spring和JSF

http://blog.springsource.org/2007/04/21/what-spring-web-flow-offers-jsf-developers/

Spring MVC: http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

根据我的经验,最适合JSF组件库的是Primefaces

来自IBM消除疑虑:http://www.ibm.com/developerworks/library/j-jsf1/

希望这能给你一些启示。


0

看一下Matt Raible关于比较JVM Web框架的演讲这里。你也可以考虑看一下Spring MVC和'Tapestry`。

此外,这个链接给出了各种Java Web框架的能力矩阵。


0

你也应该看看Play框架。我用过一点,真的很喜欢。

它非常容易入门,最小化配置(让我想起了Rails)。

http://www.playframework.org/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接