我总是使用Jave EE 6框架开发web应用程序。所以我不确定我要做的是正确的。我需要创建一个具有数据库访问权限的本机客户端命令行应用程序。因此,使用JDBC的简单java项目就可以完成这项工作。但是数据库访问的需求包括连接池、并发处理和事务...,现在项目的需求最终确实构建了一个web界面,但首先它将首先构建一个命令行应用程序。这就是我在考虑框架的时候。我喜欢Java EE 6,那么java EE 6是正确的选择吗?我是否可以使用javaEE6开发本地客户端应用程序,然后向其中添加web模块?
我使用的是Netbeans 7.0 btw
发布于 2011-06-15 02:12:31
您可以在使用main()类作为入口点的独立客户端应用程序中完美地使用JPA。只需将JAR添加到buildpath/classpath并将persistence.xml配置为使用RESOURCE_LOCAL事务类型。您可以在EclipseLink Wiki - Running JPA Outside Container中找到启动示例。以下是相关内容的摘录:
<persistence-unit name="LocalPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="javax.persistence.jdbc.user" value="scott"/>
<property name="javax.persistence.jdbc.password" value="tiger"/>
</properties>
</persistence-unit>通过将客户端项目添加为web项目的一个模块,您可以在web项目中重用具有JPA模型和最终DAO的客户端项目。例如,在Eclipse上,您只需通过Java Build Path > Projects > Add and configure the Deployment Assembly将客户端项目添加到web项目的构建路径中,以使其在/WEB-INF/lib中作为JAR结束。
最后,在您的web项目中,您可以拥有另一个persistence.xml,它基本上指向客户端项目的JAR文件并覆盖事务类型。
<persistence-unit name="WebPersistenceUnit" transaction-type="JTA">
<jta-data-source>jdbc/DataSourceName</jta-data-source>
<jar-file>lib/JavaProject.jar</jar-file>
</persistence-unit>这样,您就不需要在persistence.xml中重复模型类。
发布于 2011-06-15 02:03:22
嗯,JavaEE是不同框架(EJB、JSF、JAXP、JAXB、WS等)的汇编。并不是所有的服务器都需要功能齐全的应用服务器。
这实际上取决于您的需求(以及您对不同框架的了解),但是考虑到web模块请求,以下方法可能会很有用:
<代码>F29
如果您的应用程序变得越来越复杂,或者您需要额外的功能(比如JPA的持久性、JTA的事务控制或JSF之类的web框架),您可以考虑使用应用程序服务器。
发布于 2011-06-15 07:21:48
在JavaEE6中有两种“视图”技术: web应用程序和应用程序客户端。web应用程序是用于JavaEE6的最常见的视图技术,但您可以创建EJB和实体类的“本机命令行”客户端。
您可以在JSR-000316 Java Platform, Enterprise Edition 6 Specification 6.0 Final Release的“EE.10应用程序客户端”一节中阅读有关应用程序客户端的信息。
这就是an article that describes how to use NetBeans to create, deploy and execute a Java EE 6 application that uses an application client。
采用应用程序客户端的主要障碍之一是将它们部署到跨大量客户端的桌面的负担。GlassFish implementation of the Java EE 6 spec包括features that help lower these burdens。
https://stackoverflow.com/questions/6347788
复制相似问题