各种Java Web框架的优缺点是什么?[已关闭]

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

我的网站只是为了我自己在一开始就喜欢构建它,但是如果它变得流行,那么它具有一定的可扩展性,或者至少能够重新设计它,那将是一件好事。

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

是否有人对其中一些框架有经验并可以提出建议?选择的绝对数量是否只是作为一个早期警告,以避免在可能的情况下基于Java的Web开发?


答案 1

我相当广泛地使用了Tapestry 3WicketEchoJSF。我真的建议你看看这些,并选择一个对你来说最容易的,并且最接近你喜欢的工作方式。

其中,对我来说最舒服的是Wicket,因为组件构建的轻量级和页面模板的简单性。如果你使用自己的数据库代码而不是Hibernate或其他框架(我从来没有对Wicket Hibernate或Spring Integration完全满意)。这加倍。

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

Tapestry是一个伟大的产品,但它在开发模式方面显然与其他产品非常不同,因为它主要由一个家伙领导。霍华德·刘易斯·希普(Howard Lewis Ship)无疑是非常聪明的,但我对他们决定基本上忘记与每个版本的向后兼容性感到失望。不过,对于您的需求来说,这可能并不重要,而且我一直认为Tapestry产品令人愉快。

JSF已经推出多年了,仍然感觉像是一个Struts家伙为解决Struts的所有问题而构建的东西。没有真正理解Struts的所有问题。它仍然有一种未完成的感觉,尽管产品显然非常灵活。我使用它,对它有一些喜爱,对它的未来抱有很大的希望。我认为在JEE6中交付的下一个版本(2.0)将真正将其带入自己的位置,具有新的模板语法(类似于Facelets)和简化的组件模型(仅在1个文件中自定义组件...最后)。

当然,还有一百万个较小的框架和工具可以获得自己的追随者(满足基本需求的速度,原始JSP,Struts等)。不过,我自己通常更喜欢面向组件的框架。

最后,我建议你看看Tapestry,Wicket和JSF,然后选择一个最适合你的。你可能会很快找到一个适合你喜欢的工作方式。


答案 2

我最喜欢的是Spring Framework。有了2.5 Spring MVC,就有了新的注释,配置功能的约定等等。

如果你只是在做一些超级简单的事情,你也可以尝试使用常规的Servlet API,而不是为框架而烦恼。


推荐