当前位置: 首页 > 面试题库 >

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

龚凌
2023-03-14
问题内容

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

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

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

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


问题答案:

我已经相当广泛地使用了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个html" target="_blank">文件中定制组件,最终……)。

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

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



 类似资料:
  • 本文向大家介绍微服务架构的优点和缺点是什么?相关面试题,主要包含被问及微服务架构的优点和缺点是什么?时的应答技巧和注意事项,需要的朋友参考一下 微服务架构的优点 微服务架构的缺点 可以自由使用不同的技术 增加故障排除的难度 每个微服务都专注于单一功能 由于远程调用而导致延迟增加 支持单个可部署单元 增加配置和其他操作的工作量 允许软件的持续发布 难以维持处理的安全性 可确保每项服务的安全性 很难跟

  • 问题内容: 只是想知道TreeSet的优缺点是什么,是否有人可以告诉我?谢谢! 问题答案: 收藏类之一。它使您可以按键或按键顺序访问集合中的元素。它比ArrayList或HashMap具有更多的开销。当您不需要顺序访问时,只需按键查找即可使用HashSet。使用ArrayList并使用Arrays。如果只想按顺序排列元素,则排序。TreeSet始终保持元素顺序。使用ArrayList,您可以在需要

  • 问题内容: 我目前正在开发一个大量使用JSF和IceFaces的Web应用程序。我们已经讨论了转移到另一个表示层的问题,我认为我将把讨论深入到SO中,然后看看专家们的想法。 我很好奇,是否有人可以权衡各种Java表示层技术的利弊。如果您仅与一个人一起工作,请说出为什么爱它或讨厌它。如果您曾经使用过几种方法,请给他们留下深刻的印象,以了解它们如何相互叠加。 我们正在考虑的技术是: 冰面 JSF(无I

  • 本文向大家介绍iframe框架都有哪些优缺点?相关面试题,主要包含被问及iframe框架都有哪些优缺点?时的应答技巧和注意事项,需要的朋友参考一下 优点: 可以实现异步刷新,单个 刷新不影响整体窗口的刷新(可以实现无刷新上传,在 无法使用时) 可以实现跨域,每个 的源都可以不相同(方便引入第三方内容) 多页面应用时,对于共同的 , 可以使用 加载,拆分代码(导航栏的应用) 缺点: 每一个 都对应着

  • 本文向大家介绍MyBatis 框架的缺点相关面试题,主要包含被问及MyBatis 框架的缺点时的应答技巧和注意事项,需要的朋友参考一下 SQL 语句的编写工作量较大,尤其当字段多、关联表多时,对开发人员编写 SQL 语句的功底有一定要求。 SQL 语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

  • 问题内容: 我正在寻找提高某些SQL性能的方法,当前CTE正在脚本中多次使用和引用。我会使用表变量来获得改进吗?(因为代码在函数内,所以不能使用临时表)。 问题答案: 您实际上必须进行性能测试-没有“是/否”答案。根据安迪·利文(Andy Living)上面链接到的文章,CTE只是查询或子查询的简写。 如果您在同一函数中两次或多次调用它,则填充表变量然后加入该表变量或从中选择表变量可能会获得更好的