【问题标题】:Simple Java EE client desktop application and web with MySQL使用 MySQL 的简单 Java EE 客户端桌面应用程序和 Web
【发布时间】:2017-12-07 15:56:22
【问题描述】:

一开始我不得不说我对 java ee 完全陌生,而且在 java 中完全是新的。我必须用这个来做我的学习项目。首先,我需要一个与远程 mysql 数据库连接的标准桌面应用程序。第二个不太重要的是与数据库连接的网络应用程序。问题是根据 java ee 标准,信息流应该是什么样子? 像客户端应用程序 > 远程 > java bean > 本地 > mysql 之类的东西? 对于这个简单的项目,你推荐什么 api 来处理 ORM 等? 最后一个我需要一些关于 java ee 的教程或书籍。

【问题讨论】:

    标签: java jakarta-ee architecture orm web


    【解决方案1】:

    您实际上给出的要求和约束太少,甚至连选择技术堆栈都没有。

    我可以根据你的帖子提出什么建议:

    尝试分解数据访问层 (DAO),因为您可能会在桌面和 Web 应用程序之间共享它。为此,您有 2 个解决方案:

    解决方案 1:两个应用程序中都嵌入了 jar 模块:
    这意味着该组件还必须在服务器容器 (Java SE) 之外运行。我建议不要使用 Java EE,但 Spring 因为 Java EE 还没有提供一个独立的“轻量级”容器来正确管理持久性上下文。

    Spring 将允许您使用数据源(插入远程数据库)和容器事务管理(在容器外部使用 ORM 不是很有趣恕我直言)定义数据访问组件,该组件将单独运行(桌面应用程序)和在任何 servlet 容器(tomcat 等)(Web 应用程序)中,只有一个配置文件不同。

    它会给出:

    独立:客户端 [Swing 视图 > 控制器 > Spring 托管 DAO] > 远程数据库
    web:客户端 [html] > Web 服务器 [任何视图技术 ( spring mvc 例如)> Spring 管理的 DAO] > 远程或本地数据库

    解决方案 2:具有共享数据访问组件实例的 SOA 架构部署在 Web 服务器上并通过 Web 服务向独立应用程序公开:

    独立:客户端 [swing 视图 > 控制器] > http > Web 或 Java EE 服务器 [REST 或 SOAP Web 服务 > DAO] > 本地或远程数据库

    网络

  • 客户端 [html] > Web 服务器 [任何视图技术 > DAO] > 本地或远程数据库
  • 客户端 [RIA(Ajax、Flex 等)] > Web 服务器 [REST Web 服务 > DAO] > 本地或远程数据库

    否则,如果您不使用 ORM,我建议您不要使用真的不需要它,因为与它给你带来的优势相比,学习曲线相当长。 (这取决于您的上下文和要求:数据模型的复杂性、现有数据库或新数据库、您的应用程序专用或共享的数据库、现有的存储过程或触发器、高并发等)

  • 【讨论】:

      【解决方案2】:

      对于桌面应用程序,我将流程描述为: Java Application(Core Java) -> EJB (Enterprise Java Beans) -> Hibernate (ORM) -> MySQL (DB)

      对于网络应用程序: Struts (前端框架) -> Hibernate -> MySQL

      您还可以在 struts 和 Hibernate 之间使用 EJB。如果项目是相关的,你实际上只需要真正交换前端(Java App 和 Struts 组件)。

      我不会立即跳入成堆的框架。我从 JSP 和 Servlet 开始学得更好,然后进入 Struts,然后学习 Hibernate,等等。这太多了,一次都不必担心。

      我没有要推荐的书,但http://www.mkyong.com/ 有一些不错的例子。

      【讨论】:

      • 桌面应用程序的 EJB ???您能否解释一下如何在 Java EE 容器之外运行 EJB?
      猜你喜欢
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多