即使我知道这会引起争议,我的建议还是只从Java EE 6开始。因此,拿起GlassFish v3,要么获取《使用GlassFish 3开始Java EE 6平台:从新手到专业》一书,要么按照Java EE 6教程进行操作。在我看来,这本书(我已经开始阅读,所以我知道我在说什么)提供了更多的指导,如果“一切”对你来说都是新的,那么这些指导可能更可取(它涵盖了Java EE平台及其API以及构建,部署应用程序的环境)。
现在,正如我所说,我已经可以听到这样的声音说:“Java EE很重,使用Spring代替,学习Struts或Wicket或Stripes作为表示层,学习Hibernate用于持久性,或者不是因为我不喜欢ORM,使用iBatis或直接JDBC代替(你会看到,Spring很酷,Spring很酷), 并使用Tomcat(为什么不是Jetty)或JBoss,或者只是忘记这一切,去圣杯,然后bla bla bla...“。
但我不认为这真的对你有帮助,如果没有指导或指导(你不会找到一个涵盖所有组合的非过时的独特资源),这对初学者来说一定听起来非常混乱。
所以,因为我认为Java EE 6比以前版本的Java EE有了很大的改进,因为它为你的所有需求提供了非常好的标准API(Servlet 3.0,JSF 2.0,JPA 2.0,EJB 3.1 lite,Bean Validation 1.0,CDI等),因为这些API都非常体面,因为学习它们没有什么问题, 因为这已经是一项艰巨的任务,因为你必须从某个地方开始,所以我只关注Java EE 6,现在忘记其他框架。更准确地说,我会从Java EE 6 Web Profile开始(如果你想更进一步,再添加一些东西)。
通过这样做,1)你将开始学习全新的东西,2)你将给所有其他框架和/或工具一些时间来适应并证明仍然需要它们。如果有的话,现在仍然是时候对幸存者进行实验了,你将能够更好地理解他们为什么存在。