一开始,我不得不说,我对java ee来说完全是新的,在java中也是相当新的。我必须用这个做我的研究项目。首先,我需要一个与远程mysql数据库连接的标准桌面应用程序。第二个不太重要的是与数据库连接的web应用程序。问题是,根据java ee标准,信息流应该是什么样子的?例如客户端应用程序>远程> java beans >本地> mysql?对于这个简单的项目,您推荐了哪些api来处理ORM等问题?最后一个我需要一些关于java ee的教程或书籍。
发布于 2013-04-17 16:03:08
实际上,您给出的要求和约束太少,甚至无法选择技术堆栈。
根据你的帖子,我可以给你一些建议:
尝试分解数据访问层(DAO),因为您可能会在桌面和web应用程序之间共享它。为此,您有两种解决方案:
解决方案1:嵌入在两个应用程序中的jar模块:
这意味着该组件还必须在服务器容器(Java )之外可运行。因此,我建议不要使用Java EE,但是Spring因为Java EE还没有提供独立的“轻量级”容器来正确管理持久性上下文。
Spring将允许您定义一个数据访问组件,该组件具有数据源(插入到远程DB)和容器事务管理(在容器外部使用ORM并不是很有趣),这些组件可以单独运行(桌面应用程序),也可以在任何servlet容器(tomcat等) (web应用程序)内部运行,唯一不同的是配置文件。
它将提供:
Standalone:客户端Swing视图>控制器>托管DAOs >远程数据库
Spring :客户端> web服务器任何视图技术(例如Spring mvc )>托管DAOs >远程或本地数据库
Solution 2SOA:架构,具有部署在web服务器上的共享数据访问组件实例,并通过web服务公开给独立的应用程序:
独立:客户端swing视图>控制器> http > web或Java服务器REST或SOAP web服务> DAOs >本地或远程数据库
web:
否则,如果你不是真的需要ORM,我建议不要使用它,因为与它给你带来的好处相比,学习曲线相当长。(Ofc取决于您的上下文和需求:数据模型的复杂性、现有数据库或新数据库、仅供您的应用程序或共享使用的数据库、现有存储过程或触发器、高并发等)
发布于 2013-04-17 06:59:06
对于桌面应用程序,我会这样描述流程: Java应用程序(核心Java)、-> EJB (企业Java Beans)、-> Hibernate (ORM)、-> MySQL (DB)。
对于web应用程序: Struts (前端框架) -> Hibernate -> MySQL
您还可以在struts和Hibernate之间使用EJB。如果这些项目是相关的,那么您实际上只需要交换前端( Java App和Struts组件)。
我不会马上跳到成堆的框架中去。我从JSP和Servlet开始学得更好,然后发展到Struts,然后学习Hibernate,等等。
我没有可推荐的书,但http://www.mkyong.com/有一些不错的例子。
https://stackoverflow.com/questions/16048352
复制相似问题