Java MVC Web 框架的架构差异
Posted
技术标签:
【中文标题】Java MVC Web 框架的架构差异【英文标题】:Architectural Differences in Java MVC Web Frameworks 【发布时间】:2012-01-04 22:29:48 【问题描述】:我正在尝试为我的第一个 Web 应用程序选择一个 AJAX 友好的 Java 框架,并且首先感兴趣的是 了解现有不同风格之间的架构差异。
我喜欢 MVC 框架的概念,因此主要考虑以下几点:
任何 JSF 变体(ICEFaces、RichFaces、PrimeFaces 等) Spring Web 流 ZK 检票口我已经下载了这些项目中的每一个,并尝试按照他们的示例/教程进行操作,并且有 吸收了这么多信息,我想我会喘口气来这里做一些初步的准备 首先。
我对这些框架如何实现 MVC 模式很感兴趣。很明显,有什么根深蒂固的 在 JSF 中(如 ICEFaces)将具有与 Spring 不同的架构。我确定这是一个 巨大的问题,所以我不是在寻找关于这些框架中的每一个的完整教程;我只是 好奇开发人员必须写入什么样的工件(Java 源代码、XML 配置文件等) 为了使用这些构建单个 AJAX 驱动的页面。 我对他们的方法的差异感兴趣, 仅此而已。
例如,我会想象每个框架在某些时候使用FrontController
(或类似的)来
将HttpRequests
映射到右侧Controller
实现。 Controller
(bean) 然后需要做
一些处理,可能会访问数据库以获取一些信息(使用 ormapping 并形成Model
),以及
然后构造一个View
/HttpResponse
发送回客户端。我敢肯定,这是一种过度简化,但是
必须有一种简单的方法来解释每个框架如何完成的高级架构
那个。
【问题讨论】:
您打算使用什么 IDE?它们之间的框架支持差异很大,一个好的插件可以让你的生活更轻松。 好点 Viruzzo - 它将是 Eclipse。同样,这个问题更多的是关于这些框架如何实现 MVC 之间的理论差异,而不是帮助我决定选择哪个的机制。谢谢指点! 我希望我能回答这个问题,但我只使用过 jsf 和 spring.. 我会说,远离 jsf。请求/响应周期过于繁重。 谢谢 mkoryak - 你介意我问你“笨手笨脚”是什么意思吗? 【参考方案1】:您还应该查看 Play 框架。我用了一点,非常喜欢。
用最少的配置很容易上手(让我想起了 Rails)。
http://www.playframework.org/
【讨论】:
【参考方案2】:Struts 使用 ActionServlet(Struts2 现在只是 Action)作为控制器和模型,而 jsp 是视图。
对于 Spring MVC 是由 DispatcherServlet 实现的,它执行路由并且模型不绑定到您可以使用的任何框架相关对象。
JSF - UI jsp 或 jsf 本身,模型 - ManagedBean,控制器 - 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://***.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 清除 FUD:http://www.ibm.com/developerworks/library/j-jsf1/
希望这能给你一些见解。
【讨论】:
【参考方案3】:看看 Matt Raible 关于比较 JVM Web 框架here 的演讲。您还可以考虑查看Spring MVC
和'Tapestry`。
此外,link 为您提供了一个关于各种 Java Web 框架功能的矩阵。
【讨论】:
以上是关于Java MVC Web 框架的架构差异的主要内容,如果未能解决你的问题,请参考以下文章