簡體   English   中英

簡單的Java EE客戶端桌面應用程序和帶有MySQL的Web

[英]Simple Java EE client desktop application and web with MySQL

開始時,我不得不說Java EE完全是全新的,而Java則完全是全新的。 我必須為此做一個研究項目。 首先,我需要一個與遠程mysql數據庫連接的標准桌面應用程序。 第二個不太重要的是也與數據庫連接的Web應用程序。 問題是,按照Java EE標准,信息流應如何? 諸如客戶端應用>遠程> Java bean>本地> mysql之類的東西? 您建議使用什么簡單的API來處理ORM等簡單項目? 最后一個我需要一些有關java ee的教程或書籍。

實際上,即使選擇技術堆棧,您給出的要求和約束也很少。

我根據您的帖子可以提供的建議:

嘗試分解數據訪問層(DAO),因為您可能會在桌面和Web應用程序之間共享它。 為此,您有2個解決方案:

解決方案1 :兩個應用程序中都嵌入了jar模塊
這意味着該組件還必須在服務器容器(Java SE)外部也可運行。 我因此建議不要使用Java EE,而是建議使用Spring,因為Java EE尚未提供獨立的“輕量級”容器來正確管理持久性上下文。

Spring將允許您定義一個具有數據源(插入遠程數據庫)和容器事務管理(在容器外部使用ORM並不是很有趣的恕我直言)的數據訪問組件,該組件將單獨運行(桌面應用程序)並在任何servlet中運行容器(tomcat等)(網絡應用程序),僅包含一個配置文件。

它會給:

獨立服務器 :客戶端[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,我建議您不要使用ORM,因為與之相伴的學習曲線相當長。 (這取決於您的上下文和要求:數據模型的復雜性,現有數據庫或新數據庫,應用程序專有或共享使用的數據庫,現有存儲過程或觸發器,高並發性等)

  • 對於桌面應用程序,我將這樣描述流程:Java應用程序(核心Java)-> EJB(企業Java Bean)->休眠(ORM)-> MySQL(DB)

    對於Web應用程序:Struts(前端框架)-> Hibernate-> MySQL

    您也可以在struts和Hibernate之間使用EJB。 如果項目相關,則實際上只需要交換前端(Java App和Struts組件)。

    我不會馬上跳入成堆的框架。 從JSP和Servlet開始,然后進入Struts,然后學習Hibernate等,我學到了很多東西。這太多了,無法一worry而就。

    我沒有值得推薦的書籍,但是http://www.mkyong.com/上有一些不錯的例子。

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM