首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java EE 6框架是仅用于Web应用程序,还是也可用于客户端应用程序

Java EE 6框架是仅用于Web应用程序,还是也可用于客户端应用程序
EN

Stack Overflow用户
提问于 2011-06-15 01:49:46
回答 4查看 863关注 0票数 2

我总是使用Jave EE 6框架开发web应用程序。所以我不确定我要做的是正确的。我需要创建一个具有数据库访问权限的本机客户端命令行应用程序。因此,使用JDBC的简单java项目就可以完成这项工作。但是数据库访问的需求包括连接池、并发处理和事务...,现在项目的需求最终确实构建了一个web界面,但首先它将首先构建一个命令行应用程序。这就是我在考虑框架的时候。我喜欢Java EE 6,那么java EE 6是正确的选择吗?我是否可以使用javaEE6开发本地客户端应用程序,然后向其中添加web模块?

我使用的是Netbeans 7.0 btw

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-15 02:12:31

您可以在使用main()类作为入口点的独立客户端应用程序中完美地使用JPA。只需将JAR添加到buildpath/classpath并将persistence.xml配置为使用RESOURCE_LOCAL事务类型。您可以在EclipseLink Wiki - Running JPA Outside Container中找到启动示例。以下是相关内容的摘录:

代码语言:javascript
复制
<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文件并覆盖事务类型。

代码语言:javascript
复制
<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中重复模型类。

票数 2
EN

Stack Overflow用户

发布于 2011-06-15 02:03:22

嗯,JavaEE是不同框架(EJB、JSF、JAXP、JAXB、WS等)的汇编。并不是所有的服务器都需要功能齐全的应用服务器。

这实际上取决于您的需求(以及您对不同框架的了解),但是考虑到web模块请求,以下方法可能会很有用:

  • 使用实体EJB对数据建模
  • 使用会话Beans (或可轻松迁移到EJB的POJO)创建业务逻辑
  • 使用所需的其他框架(例如JAXB)
  • 从命令行应用程序开始

<代码>F29

如果您的应用程序变得越来越复杂,或者您需要额外的功能(比如JPA的持久性、JTA的事务控制或JSF之类的web框架),您可以考虑使用应用程序服务器。

票数 1
EN

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6347788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档