在Java EE 6中学习Java Web应用程序需要学习什么?

时间:2009-12-25 02:18:17

标签: java java-ee web-applications

我的目标是制作网络应用程序!

我读完了“Headfirst - Java”和“Headfirst - Servlets and JSP”这些书。

因为这个主题(Web应用程序)是如此庞大和复杂,我想问下一步我应该学习什么。当我读到Java EE,EJB,JSF,JPA,Glassfish等流行语时,我觉得过度训练......但我不会放弃。

有谁能告诉我应该如何继续学习?我应该抓一本这样的书: Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional或者我应该制作一些在线教程?

谢谢!

7 个答案:

答案 0 :(得分:171)

即使我知道这会引起争议,我的建议是仅从Java EE 6开始。因此,请抓住GlasshFish v3并获取图书Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional或关注Java EE 6 tutorial。在我看来,这本书(我已经开始阅读,所以我知道我在说什么)提供了更多的指导,如果“一切”对你来说是新的,它可能是更可取的(它涵盖了Java EE平台及其API) 构建,部署应用程序的环境。

现在,正如我所说,我已经可以听到声音说“Java EE很重,使用Spring代替,学习Struts或Wicket或Stripes用于表示层,学习Hibernate用于持久性,或者不是因为我不喜欢ORM,使用iBatis或直接使用JDBC(你会看到,Spring很酷,Spring很酷),使用Tomcat(以及为什么不是Jetty),或者JBoss,或者只是忘掉这一切并去寻找Grails,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)你会给所有其他框架和/或工具一些时间来适应和证明仍然需要他们。如果有的话,仍然是时候对幸存者进行实验,你将能够更好地理解他们存在的原因。

答案 1 :(得分:28)

我的建议 1 是停止阅读书籍并开始实施。根据我的经验,书本学习很差,无法替代实际做事所获得的知识。


1 - 上下文:这是对刚刚读完两本关于该主题的书的人的建议,并且正在寻找更多的书籍来阅读。在实践中,你需要平衡阅读和做。特别是如果你有一个特定的问题,你试图解决。

答案 2 :(得分:9)

Java EE 6真是太棒了。唯一的问题是它大约有2个星期的历史,目前只有1个容器提供它的功能 - Glassfish。

我没有反对Glassfish,我在整个地方使用它,几个生产实例,我喜欢产品和项目。

也就是说,Java EE 6的细节不会转换回Java EE 5.有些人做了很多,但是Web Profile,Servlet 3.0,新的Bean类型,JPA 2等等。那些不存在

因此,通过首先学习Java EE 6,您只需将自己限制在一个容器中。还有更多,但他们还没到。

Tomcat,JBoss,OpenEJB,Glassfish,Jetty,Resin,Geronimo等都可以很好地使用Java EE 5规范(至少它们支持的规范部分,例如Tomcat没有EJB)。

我无法想到Java EE 5中没有任何内容未被转移到Java EE 6. Java EE 6使一些非常古老的方面成为可选的,而那些你今天根本就不会学到的东西。 Java EE 6使得一些Java EE 5的内容变得更加容易(例如,包装EJB Lite)。

立即学习Java EE 5,以便您可以在各种环境中实际应用所学内容,而不是现在学习Java EE 6并发现您可能无法使用您所学的大部分内容。

没有一本书会教你如何知道。例如,Servlets是一个不错的基础,但是对于任何大于几页或端点的东西,你将需要使用众多第三方框架之一,或JSF,并且没有书覆盖核心,然后是顶部的框架那个。

Java EE 5教程擅长于奠定基础,我的主要抱怨是他们没有向您展示源代码。相反,他们希望您只需下载并运行它。它没有在教程中讨论。我发现Head First的书非常好。

对于Web编程,原始Servlet非常重要,只是为了理解请求/响应周期,但您无需深入了解即可实现对第三方框架的跨越。

我是Stripes for Action框架(与组件框架相比)的忠实粉丝,并且单一的Stripes书籍非常出色(选择这是一个简单的选择)。

我不能推荐一个组件框架书,我实际上不会推荐一个。组件框架真正掩盖了HTTP核心请求/响应结构。他们埋葬他们是有原因的,他们通过埋葬他们获得了价值,但我相信要有效,你需要在早期对这些概念有充分的了解。这就是我不建议首先学习组件框架的原因。

JAX-RS REST框架包含在Java EE 6中,但可以很容易地安装在Java EE 5或任何servlet容器中,非常出色。可以说它应该是Servlet 3.0所应有的。但是我不知道那本书。

答案 3 :(得分:5)

对于Tomcat,请阅读网站上的manual。这很棒。特别是关于Web应用程序组织和部署的前几章,以及有关Servlets API和JSP的章节。

对于Spring来说,Manning的书Spring in Action非常好。类似地,对于Hibernate(Manning书),但我认为Hibernate大多数不在webapps的范围内。不过你的电话。

威克特 - 曼宁的书也。但实际上,只需在Javascript中编写您的前端代码即可。 IMO会减轻痛苦。

答案 4 :(得分:3)

我不会评论其他技术,但如果你想学习Hibernate,可以通过Cameron McKenzie(www.hiberbook.com)获得“Hibernate Made Easy”。值得全力投资。您可以在2天内完成阅读该书(字面意思)。它就像一本小说,最后你发现自己像半专业人士一样处理Hibernate。

答案 5 :(得分:3)

Jpassion提供了很好的视频和材料来学习Java EE 6和其他内容。

您还应该看到应用示例:

  1. Petstore。需要Maven,Glassfish推荐。由Antonio Goncalves撰写,他撰写了上述book
  2. JBoss Ticketmonster。需要Maven& Jboss Forge。部署在Jboss。

答案 6 :(得分:2)

如果您只想用Java创建Web应用程序,请查看Play Framework。它类似于“Ruby on Rails”