我想使用java EE 7技术开发一个 java web 应用程序。我还想将它分成 3 层(表示、业务逻辑和数据持久性)。据我所知,presentaion 层有 3 个选项。它们是:JSP 2.3、JSF 2.2 和 Java Servlet 3.1
其他 2 层有哪些选项?我必须对逻辑业务使用强制性 EJB 3.2,对数据层使用 JAVA Persistence?或者我可以使用 Spring 和 Hibernate 等框架。请记住,我想利用 Java EE 7 技术开发它。
基本建议(也由Adam Bien在每次演讲中提出)从基本的 Java EE API 开始,仅在您确实需要时添加框架。
当前执行 Java EE 服务器端 Web 应用程序的标准方法是使用 JSF。不要再为 JSP 烦恼了,servlet 通常会在后台使用。
至于业务层,您可以使用 EJB,它免费为您提供容器的许多服务(例如事务),但也可以只使用 CDI 组件 - 特别是如果您的目标运行时环境不是一个完整的应用程序服务器,但例如只有一个 Tomcat。
持久层显然是 JPA。
但是您不必一定要在分离的层中思考-遵循保持简单的原则,您可以从一个组件开始,该组件完全是您的 JSF 视图的视图处理程序,保存用例的业务逻辑并相应地持久化实体- 然后仅在必要时扩展架构。