[英]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]>本地或遠程數據庫
網絡 :
否則,如果您真的不需要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.