JSF和Spring性能与糟糕的JSP性能相比

时间:2009-05-04 11:10:19

标签: java performance jsp jsf comparison

我看到我的同事开发的一些JSF项目,这些项目在我看来非常慢。有没有人有相同的意见?

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

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

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

对我而言,最令人兴奋的特点是让你离开jsp并使用“大规模”框架(我的意思是,例如Spring中的AOP或其他任何你能注意到的东西)。

感谢所有评论。

5 个答案:

答案 0 :(得分:8)

我使用过CGI,PHP,JSP,Struts,Spring MVC(1.2),Bea workshop,JSF,JBoss Seam,Spring MVC(2.5)和Wicket(按此顺序)。我注意到我所研究的每项新技术的生产力和质量都有所提高。它只是效果更好,感觉更好。我比其他所有人更喜欢Wicket(带有扭曲的弹簧,石英等)。我可以诚实地说,我看到了光,我不想再回到更黑暗 - 或更轻的; - 一边。

关于Wicket还有很多话要说。

  • 默认情况下会话支持(或制表符启用),您不必担心“再次打开新标签页”和“返回”按钮问题。
  • 它是基于组件的,因此您可以重复使用代码ala swing。
  • 利用很多标准的Java,比如类型安全奇迹。
  • 支持网址加密等高级安全功能。
  • 默认情况下可群集的应用程序。
  • 而且,最重要的是,使用有趣

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

  • 最让我困扰的一件事是“EL”废话,因为我相信它打破了java类型的安全性和强度。
  • 两者都需要工具支持以提高生产率。
  • 你需要另外一个框架才能真正解决问题(如使用seam框架,可以使JSF可用)。
  • 错误处理非常棘手,例外并不是非常有用的。
  • 很难在两个框架上制作可重复使用的组件,并且不支持用于分离关注点的正确模型。
  • ...而且,最重要的是,长期等轻微的痛苦,例如thisthis

答案 1 :(得分:4)

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

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

答案 2 :(得分:2)

许多优点。我可以列举我所使用的JSF优势 在我的上一个项目中。

  • 导航的集中位置(如struts)
  • 日期选择器,自动完成,分页等组件
  • 你有布局的渲染,这有利于很多布局逻辑。
  • 瓷砖的可用性,如支柱。

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

无论如何,虽然所有这些优点,如果你是一名Java程序员,我建议你选择 Grails ,这样会更舒服。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

Spring MVC的好处:

  • 该框架巧妙地鼓励您编写设计更好的代码:使用依赖注入,并将应用程序设计拆分为域(模型)对象,控制器,服务类,DAO等。
  • 作为第一个要点的副作用,您的代码最终极其且易于单元测试。