代码之家  ›  专栏  ›  技术社区  ›  darpet

弹簧MVC与接缝

  •  5
  • darpet  · 技术社区  · 16 年前

    SpringMVC是一个已经存在很长时间的框架,它有很好的文档记录和经过验证的技术。很多网站都在使用Spring。

    Seam是一个基于JSF-RichFaces实现的框架。 它有很多基于Ajax的组件。 它使用一些重的东西,比如EJB、JPA。 所有这些都很容易出错,而且这个框架非常慢(在我的计算机上,开发某些东西几乎是不可能的,因为它非常慢,尤其是在jboss上重新部署)。 但它非常适合后台应用程序。

    有人对这两个框架有专业经验吗? 你能推荐更好的吗? 为什么?

    当做

    5 回复  |  直到 16 年前
        1
  •  7
  •   Arthur Ronald    16 年前

    我同时使用:弹簧MVC(2.5)和接缝

    因为SEAM使用Java Server FACTS技术(基于服务器端的技术),在幕后,它更好地为中小型应用设计。(每个JSF视图树都存储在会话中—您可以存储在客户端,但要注意带宽问题)。但它有一些优势:

    通常Web应用程序使用以下路径

    view >> controller >> service >> domain
    

    有了接缝,你可以

    view >> service >> domain
    

    甚至(通过使用Seam框架提供的中介模式)

    No controller, No service
    
    view >> domain 
    

    除此之外,

    • JSF 2支持JSR 303-bean验证
    • 如果需要,可以使用wicket而不是jsf
    • 对话和业务流程管理支持
    • 如果需要,可以使用弹簧DI

    弹簧MVC

    它拥有强大的网络层基础设施

    • 处理程序映射(它选择应该处理请求的控制器)
    • 视图解析器(它选择应该呈现响应的视图)
    • 它可用于大型应用
    • 强大的数据绑定
    • Spring3.0支持基于注释的控制器(JSR303-Bean验证,即将推出)

    但我仍然不使用Spring3.0,因为

    • 通过使用(并在需要时扩展)multiactioncontroller,我可以在不使用XML设置定义控制器的情况下获得配置约定(您只需要将multiactioncontroller设置为@component)
    • SimpleFormController提供了在基于Spring3.0注释的控制器中发现的类似行为

    关于学习路径,我认为两者都是相似的。

        2
  •  1
  •   Petar Minchev    16 年前

    我曾与 Seam 这是一个杀手框架。它真的能提高你的工作效率。你可以使用 POJOs 而不是 EJBs 如果你认为 EJB 正在减慢你的速度。关于部署,只需考虑部署到 Tomcat 而不是 JBoss . 在我的机器上重新部署 雄猫 在几秒钟内完成。但我还没用 Spring MVC 比较一下。

        3
  •  1
  •   Jason    15 年前

    我们一直在使用Pojos为一个非常大的站点使用Seam,并与部署在Tomcat上的Web服务或Hibernate进行通信。我们发现back-button支持不能很好地工作,或者倾向于特定于实现模式。此外,如果使用服务器端状态,会话也有增长非常大的趋势。由于会话中存储的视图状态数减少,尝试减少会话大小影响返回按钮支持或iframe使用。或多或少,我们的问题都与性能有关。与Struts1.2或SpringMVC相比,Tomcat需要更多的内存,支持更少的用户。我们正在使用大约50个Tomcats来支持我们的用户库。

        4
  •  1
  •   Luke Tong    13 年前

    我已经使用Seam和Spring MVC几个月了。

    我更喜欢春季MVC而不是Seam。顺便说一句,我注意到JBoss停止了Seam3的开发。

    我发现了一篇关于Seam和SpringMVC比较的有趣文章。 链接是 http://java.dzone.com/articles/why-java-ee-lost-and-spring?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29&utm_content=Google+Reader

    谢谢

        5
  •  0
  •   priya    11 年前

    我使用了Seam 3和Spring 3框架,虽然Seam 3更容易编码,并且有很多支持会话管理和事务管理的功能,但是性能很慢,Spring更快。