我正在尝试使用Eclipse创建Java Web应用程序,而我的Web服务器是Weblogic-12c。
由于我是Java EE技术的新手,我想知道我需要创建哪种文件夹结构,遵循行业惯例,并且易于部署。
我对这个问题进行了一些研究,大多数的oracle例子都说明了:
但是,我想避免使用EJB层,但仍希望将业务逻辑保留在单独的项目中。那么我应该在Eclipse中创建哪种项目来保存我的业务逻辑类?
以下是一些问题:
我打算使用Spring 3.1 MVC。我应该在WEB-INF文件夹下包含Spring框架JAR,还是应该在项目库中添加引用?
如果我想添加一些库(JAR),这两个项目都是通用的(Web-App& Business-Logic),我应该把这些JAR放在哪里?
答案 0 :(得分:6)
如果您说要避免使用EJB层,但仍将业务逻辑放在单独的项目中,那么这有点令人困惑。在Java EE中,业务逻辑最好由EJB bean表示,如果您希望将它们放在单独的项目中,那么您描述的结构就是标准结构。
请注意,在Weblogic-12c(以及每个Java EE 6应用程序服务器)中,您可以简单地将基于EJB的业务逻辑放在WAR中,例如在单独的包中。没有需要将它们放在一个单独的项目中。
如果您希望将纯Java类用于业务逻辑而不是EJB,则可能需要三思而后行。特别是在使用数据库(JPA)时,EJB会占用大量的杂务。在现代Java EE中,它们绝对不是您应该积极寻求避免的东西。在大多数情况下,EJB bean与普通Java类一样简单。你只需要添加一个注释(大多数是@Stateless)就可以了。
如果您想拥有两个项目共有的库,那么EAR / lib是默认机制。您放在那里的每个jar都可用于Web项目和EJB项目。
此外,如果您正在使用Weblogic-12c,请注意它已经附带了一个非常好的MVC框架(JSF 2),可以立即使用。因此,您不一定要自己添加。
答案 1 :(得分:0)
我们在ATOCONN处通常遵循以下项目结构,以进行油井建筑师的产品开发和易于维护。根据您使用的需求和设计模式,项目之间可能会有所不同。
我们的Aem的Src文件夹(ATOCONN企业管理)产品
com.atoconn.aem.beans // This usually containts all beans
com.atoconn.aem.controllers //All controllers will goes here.
|com.atoconn.aem.controllers.finance
|com.atoconn.aem.controllers.projects
|....
com.atoconn.aem.services // All service layer related thing here.
com.atoconn.aem.dao //All database related classes will goes here
com.atoconn.aem.util // All utility classes here