我现在已经使用Java SE 2年了,而且我对Java的基础知识非常了解。我想转到Java EE API并基于此开发一些东西。我有两个问题:
EE API是否包含SE的所有类?即SE中开发的任何东西也可以使用EE API开发吗?
任何人都可以指出我的方向或提出开发样本Java EE应用程序(如Web服务等)的建议。理想情况下,这个示例应用程序可以在我的本地计算机上测试,并且值得作为Java开发人员放置在我的投资组合中以供将来的面试。
答案 0 :(得分:5)
EE API是否包含SE的所有类?
是。 Java EE平台构建于Java SE平台之上。
任何人都可以指出我的方向或提出开发样本Java EE应用程序的建议
答案 1 :(得分:1)
回答第一个问题,Java EE是一大堆API(Servlet,EJB,JNDI,JDBC等)。
它补充 Java SE,并且与Java SE distinct ,您选择的任何实现都提供了Java SE中可用的附加功能。
答案 2 :(得分:1)
Java EE 5 Tutorial中有几个Java EE示例应用程序。请参阅案例研究部分。另请注意Java EE tutorial is updated for Java 6,我只是看不到案例研究,我认为这将是您问题中最适用的部分。
就包含Java SE API所有类的Java EE API而言,我不知道Java EE中缺少的任何东西。
答案 3 :(得分:0)
EE是SE的超集,但大部分区别在于您希望如何部署它。
SE往往被部署为在一台机器上运行的单个应用程序。EE是一组添加到SE的工具和API,允许在各种客户端/服务器配置(最值得注意的是Web)中进行部署。
答案 4 :(得分:0)
使用EE的各个部分有一些限制。例如,在编写EJB时,您不应该访问文件,因为无法保证有可用的文件系统(我不认为很多容器会介意,如果您确实这样做......但这是另一回事......),你不应该' t启动线程,因为该部分应该由容器处理(如果你这样做,你可能会遇到意想不到的结果)。
随着时间的推移,EE和标准版似乎越来越近了。 JDBC是一个EE API,但它一直随标准版一起提供。今天实体bean和JPA api也可以在没有完整的EE堆栈的情况下使用,你可以在标准的JVM或像Tomcat这样的web容器中运行它,但你需要像Hibernate或OpenJPA这样的实现和数据库(就像JDK中嵌入的那样)或任何其他)。您错过了ejb-container自动事务处理,但您可能也需要自己控制,具体取决于应用程序。