一尘不染

各种Java Web框架的优缺点是什么?

java

正在考虑使用Java创建自己的网站,并试图决定使用哪种框架。但是,快速搜索Java框架会返回50多种选择!

我的网站只是出于我自己的兴趣,一开始便会对其进行构建,但是,如果它变得流行,那么它具有一定的可伸缩性,或者至少能够为此进行重新设计,将是一件好事。

较流行的框架之间的主要区别是什么?在某些情况下是否有一个明显优于其他情况?例如,高流量的企业应用程序与低流量的小型应用程序。我也想知道是否有些东西比其他东西更容易学习和使用。

是否有人对某些框架有经验并可以提出建议?众多选择是否只是在可能的情况下避免基于Java的Web开发的预警?


阅读 818

收藏
2020-03-21

共1个答案

一尘不染

我已经相当广泛地使用了Tapestry 3,Wicket,Echo和JSF。我真的建议你仔细研究一下,选择最适合你的方式,并且最适合你的工作方式。

其中,由于组件构建的轻量级特性和页面模板的简单性,最适合我使用的是Wicket。如果你使用的是自己的数据库代码而不是Hibernate或其他框架(我对Wicket Hibernate或Spring Integration从未完全满意),那将是双重的。

如果你不介意用Java编写所有布局,则Echo很棒。我知道现在已经不一样了,但是我仍然认为该产品服务于相当狭窄的市场。他们似乎在每个主要版本中都更改了开发模型。

Tapestry是一个很棒的产品,但是就开发模型而言,Tapestry显然与其他产品大不相同,因为它主要由一个家伙领导。霍华德·刘易斯·希普(Howard Lewis Ship)无疑很聪明,但是我对他们放弃与每个版本的向后兼容性的决定感到失望。再次强调一下,对于你的需求而言,这可能并不重要,而且我一直觉得Tapestry产品很值得推荐。

JSF已经问世了多年,但仍然感觉像是Struts家伙为解决Struts的所有问题而构建的东西。没有真正了解Struts的所有问题。尽管产品显然非常灵活,但它仍未完成。我使用它并对此有一些爱好,并对它的未来充满希望。我认为将在JEE6中发布的下一个版本(2.0)确实会将其引入新的模板语法(类似于Facelets)和简化的组件模型(仅在1个文件中定制组件,最终……)。

而且,当然,有数百万个较小的框架和工具可以效仿(基本需求的速度,原始JSP,Struts等)。不过,我通常更喜欢面向组件的框架。

最后,我建议你只看一下Tapestry,Wicket和JSF,并选择最适合你的那种。你可能会找到一种适合你想要快速工作的方式。

2020-03-21