用于web应用程序设计的各种Java框架是如何结合在一起的

用于web应用程序设计的各种Java框架是如何结合在一起的,java,jakarta-ee,frameworks,seam,Java,Jakarta Ee,Frameworks,Seam,我是Java Web应用程序开发的新手。到目前为止,我使用的都是普通的老servlet、jdbc和JSP。我开始阅读所有的框架,我完全困惑和迷失在框架群中?下面是我的一些问题: EJB3和Hibernate是相互竞争的技术还是可以一起使用 如果我使用JBoss Seam,我还需要使用Hibernate来满足我的ORM需求,还是Seam+EJB3来解决这个问题 如果我必须使用JBossSeam开发一个webapp,我需要学习哪些典型的框架?是以下部分还是全部: 接缝(当然) JSF EJB3 冬眠

我是Java Web应用程序开发的新手。到目前为止,我使用的都是普通的老servlet、jdbc和JSP。我开始阅读所有的框架,我完全困惑和迷失在框架群中?下面是我的一些问题:

  • EJB3和Hibernate是相互竞争的技术还是可以一起使用
  • 如果我使用JBoss Seam,我还需要使用Hibernate来满足我的ORM需求,还是Seam+EJB3来解决这个问题
  • 如果我必须使用JBossSeam开发一个webapp,我需要学习哪些典型的框架?是以下部分还是全部: 接缝(当然) JSF EJB3 冬眠 控制容器的弹簧反转
  • 我可以使用JBossSeam在JBossPortal上开发应用程序吗
  • 谢谢 维卡斯。EJB3和Hibernate是相互竞争的技术还是可以一起使用

    它们有相互竞争的API(JPA不同于Hibernate的API),但Hibernate可以插在JPA下面,只是不要期望与为Hibernate编写的东西具有互操作性——值得注意的是,jBPM(3.2)即使在Seam(2.1.1)下也不能完全互操作

    二,。如果我使用JBoss Seam,我还需要使用Hibernate来满足我的ORM需求,还是Seam+EJB3来解决这个问题

    据我所知,你两者都可以

    三,。如果我必须使用JBossSeam开发一个webapp,我需要学习哪些典型的框架?它是以下部分还是全部:Seam(当然)JSF EJB3 Hibernate Spring控制容器反转

    JSF——对于Seam真正理解afaict至关重要——我建议将关注facelets作为创建JSF页面的主要方式。语法很好,也很熟悉——简单的旧名称空间限定的XHTML,服务器端组件位于不同的名称空间中。完全琐碎和干净,不像我尝试过的其他任何东西

    EJB3-如果你喜欢,或者不喜欢,取决于你。这样做会将您拖入JavaEE,这仍然让我有点害怕,尽管它有很多好处

    冬眠-如果你喜欢,由你决定。JPA实体经理提供了替代方案

    春天,呃。。。是的,当然,如果你喜欢,还是由你决定。Seam负责有状态会话和会话范围的bean(通常是表示逻辑层的一部分),Spring最适合于无状态上下文,例如数据库和任何SOA客户端等后端服务的接口

    我发现Seam+JSF(facelets)+Hibernate+Spring是一个非常好的组合,可以在jBPM上创建UI,也可以在另一个交付内容页的项目上创建UI,尽管Seam并不是这样做的

  • 我可以使用JBossSeam在JBossPortal上开发应用程序吗
  • 对不起,我帮不了你

  • 是和否。EJB3(或者更确切地说是JPA)是一个规范,用于通过Java5注释声明或映射,以及用于查询它们的接口。您仍然需要一个实现。Hibernate注释将是映射的实现,Hibernate EntityManager是查询接口的实现——它们使用“主”Hibernate来完成工作。您应该能够混合和匹配这些内容——可以使用JPA注释,也可以使用Hibernate的API,如HQL和Criteria
  • 取决于,主要取决于appserver。功能齐全的应用服务器可以为您处理JPA内容,您可以通过web.xml和appserver控制台进行配置。当然,这不包括混搭。尽管如此,您仍然可以通过编程/使用Spring/任何方式访问查询API,而不必考虑appserver
  • JSF是使用Seam的先决条件。至于EJB3/JPA与Hibernate的比较,这是优先考虑的问题。您不需要了解太多/任何Hibernate就可以将其用作JPA实现。JPA在很大程度上基于Hibernate的API,因此两者之间的差异可能都很小。严格来说,Spring并不是必须的,JBoss正在竭尽全力通过WebBeans获得部分市场份额。接缝的某些特征与弹簧的某些特征重叠。Spring是高度模块化的,涵盖了很多内容,所以您应该能够选择您想要的Spring特性
  • 我不知道

  • JBossSeam是一个元框架,它结合了EJB3和JSF框架,并用依赖注入的形式将它们包装起来。作为一种J2EE技术,您通常将其部署在应用程序服务器中——这就是JBossPortal的用武之地

    JBoss门户是JBoss组织提供的商业产品。它以“模块”的形式将各种J2EE组件捆绑在一起,这些组件将包括EJB3、JSF和

    签出,并滚动到底部,以找出接缝和入口的配合位置。门户网站描述了它提供的模块(我假设它们附带了定价模型),Seam支持由提供

  • EJB3和Hibernate是互补技术。EJB3定义了JPA(API),Hibernate可以用作JPA的持久性提供程序

  • 您仍然需要使用一个持久性提供者,它可以是Hibernate、OpenJPA等

  • JSF和EJB3

  • 关于Seam和门户开发:更好的问题是JSF和门户协同工作的情况如何

  • 当然,它们是一起工作的——下面是相关教程:

    关于问题4

    如果使用桥接器,JBossSeam可以在JBossPortal内部使用


    目前有一个项目正处于CR阶段,即将发布。

    这实际上是4个问题。你应该把他们分开。我会远离他们。人们真的使用它吗?我想你可能会被困在学习这个框架中。我建议大家看看SpringMVC,这是学习Spring的极好方法,而且它是一个非常干净和轻量级的工具framework@mattb:我想你从2.0版令人兴奋的日子起就没有使用过EJB了。。。EJB3非常流行(就像Spring一样),而且