我看到我的同事开发了一些 JSF 项目,这些项目在我看来速度非常慢。有人有同样的看法吗?

我目前正在使用 jsp+jstl 和 jQuery 作为“富”客户端。

我想知道现代框架(jsf、wicket、tapestry..)相对于旧的普通 jsp 有何优点和缺点。

如果使用所有这些技术的人能够回答的话那就太好了。

对我来说,哪些最令人兴奋的功能让您离开 jsp 并使用“大规模”框架(我的意思是,例如 Spring 中的 AOP 或其他您能注意到的东西)也很有趣。

感谢所有的评论。

有帮助吗?

解决方案

我使用过 CGI、PHP、JSP、Struts、Spring MVC (1.2)、Bea Workshop、JSF、JBoss Seam、Spring MVC (2.5) 和 便门 (以该顺序)。我注意到我所研究的每项新技术的生产力和质量都得到了飞跃。它只是效果更好,它 感觉 更好的。与其他所有的相比,我更喜欢 Wicket(带有弹簧、石英等扭曲)。我可以诚实地说我看到了光明,我不想回到更黑暗的一面——或者更光明的一面;)——。

关于Wicket,有很多话要说。

  • 默认情况下提供对话支持(或启用选项卡),您不必再担心“在新选项卡中打开”和“后退”按钮问题。
  • 它是基于组件的,因此您可以重复使用 swing 代码。
  • 利用许多标准 Java,例如类型安全奇迹。
  • 支持 URL 加密等高级安全功能。
  • 默认情况下可集群的应用程序。
  • 而且,最重要的是,它是 乐趣 使用。

JSP 和 JSF 有很多需要改进的地方。

  • 最让我困扰的一件事是“EL”废话,因为我相信它破坏了良好的 java 类型安全性和强度。
  • 两者都需要工具支持才能实现高生产率。
  • 您需要在这两个框架之上使用另一个框架才能真正解决问题(如 Seam 框架所示,它使 JSF 可用)。
  • 错误处理非常棘手,并且异常也没有直接的帮助。
  • 在这两个框架上创建可重用的组件很困难,并且不支持适当的关注点分离模型。
  • ...最重要的是,还有很长一段时间的小痛苦,比如 , , 或者 .

其他提示

我完全喜欢使用JSP 2.0作为模板技术 - 我使用Spring MVC来访问我的域对象并为特定视图准备我需要的所有数据,并将其留给JSP来呈现它。 JSP 2.0,因为我喜欢使用标记文件进行模板合成,这使我可以使用简单的JSP 2.0,我需要其他合成框架。

我故意避免JSP中基本上是编程的一切。没有数据访问,没有SQL,没有scriptlet,没有方法,没有任何东西。只是通过一些简单的案例和集合的迭代,简单地呈现预先存在的,控制器提供的数据。

优点很多。我可以列举JSF优势,这是我在上一个项目中使用的那些。

  • 导航的集中位置(就像在 struts 中一样)
  • 日期选择器、自动完成、分页等组件。
  • 您已经对布局进行了渲染,这有助于很多布局逻辑。
  • 瓷砖的可用性,就像在支柱中一样。

JSP 没有明确区分业务逻辑和布局。

无论如何,尽管有所有这些优点,但如果您是 Java 程序员,我建议您看看 圣杯 这要舒服得多。

JSP非常原始,你基本上没有小部件,必须自己构建一切。 JSF虽然改进不是java的最佳Web框架 - 还有很多其他的东西可以让你获得更令人印象深刻的结果 - 例如GWT。

Spring MVC 的优点:

  • 该框架巧妙地鼓励您编写设计更好的代码:通过使用依赖注入,并将应用程序设计分解为域(模型)对象、控制器、服务类、DAO 等。
  • 作为第一个要点的副作用,您的代码最终会变成 极其 并且易于进行单元测试。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top