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

我的目标是使Web应用程序!

我读完了“Headfirst – Java”和“Headfirst – Servlets and JSP”这两本书。

由于这个话题(networking应用)如此庞大而复杂,我想问一下我应该学什么。 当我阅读诸如Java EE,EJB,JSF,JPA,Glassfish等stream行语时,我感到疲惫不堪,但是我不会放弃。

任何人都可以告诉我,我应该如何继续学习? 我应该拿这样一本书: 从GlassFish 3开始Java EE 6平台:从新手到专业还是应该制作一些在线教程?

谢谢!

即使我知道这将是有争议的,但我的build议是从Java EE 6开始。 因此,抓住GlasshFish v3,或者从GlassFish 3开始Java EE 6平台:从新手到专业或遵循Java EE 6教程 。 在我看来,这本书(我已经开始阅读,所以我知道我在说什么)提供了更多的指导,如果“全部”对你来说是新的(它涵盖了Java EE平台及其API 以及构build,部署应用程序的环境)。

现在,我已经可以听到“Java EE很重,用Spring代替,为表示层学习Struts或Wicket或Stripes,学习Hibernate的持久性,或者不是因为我不喜欢ORM,使用iBatis或直接JDBC(你会看到,Spring很酷,Spring是如此cooool),并使用Tomcat(以及为什么不是Jetty)或JBoss,或者忘记所有这些,并去为Grails,并且bla bla bla …“

但我不认为这真的对你有帮助,没有指导或指导(你不会find一个涵盖所有组合的非过时的独特资源),这对初学者来说听起来很混乱。

所以,因为我认为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)您将花费一些时间来适应所有其他框架和/或工具,以certificate他们仍然需要。 如果有的话,现在还是时候对幸存者进行实验,你就能更好地理解为什么存在。

我的build议1是停止阅读书籍并开始实施。 根据我的经验,书本学习很难取代你通过实际做事获得的知识。


1 – 背景:这是对刚读完这个主题的两本书的人的build议。

Java EE 6真的很棒。 唯一的问题是,这是大约2个星期的时间,目前只有1个容器提供它的function – Glassfish。

我对Glassfish没有任何反应,我把它用在所有的地方,几个生产实例,我喜欢这个产品和项目。

也就是说,Java EE 6的细节不会回溯到Java EE 5.一些确实有很多,但Web Profile,Servlet 3.0,新的Beantypes,JPA 2等都不在那里。

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

Tomcat,JBoss,OpenEJB,Glassfish,Jetty,Resin,Geronimo等都可以很好地与Java EE 5规范(至less是他们支持的规范的那些部分,例如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,发现您可能无法使用您学到的大部分内容。

没有一本书会教你你需要知道什么。 例如,Servlet是一个很好的基础,但是对于任何大于几页或者几个端点的东西,您都会想要使用许多第三方框架之一,或者JSF,没有任何一本书包含了核心,然后是顶层框架那个。

Java EE 5教程很好地解决了这个问题,我主要的抱怨是他们没有向您展示源代码。 相反,他们希望你只是下载并运行它。 这在教程中没有讨论。 我发现Head First书很不错。

对于Web编程,原始Servlet非常重要,只是为了理解请求/响应周期,但不需要深入了解即可跳到第三方框架。

我是Stripes for Action框架(相对于组件框架)的忠实拥趸,并且可用的Stripes单书很棒(select这个简单的select)。

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

包含在Java EE 6中的JAX-RS REST框架非常适用于Java EE 5或任何servlet容器。 可以说,Servlet 3.0应该是这样的。 但是我不知道那本书。

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

对于spring来说,曼宁的书“spring的行动”非常好。 同样对于Hibernate(Manning书),但我认为Hibernate大部分是在webapps的范围之外。 你的电话,但。

Wicket – 曼宁书也。 但是,真的,只需在Javascript中编写前端代码即可。 这将是不那么痛苦,国际海事组织。

我不会评论其他技术,但如果你想学习Hibernate,可以通过Cameron McKenzie(www.hiberbook.com)获得“Hibernate Made Easy”。 这是值得的每一分钱。 您可以在2天内完成阅读该书(字面意思)。 它就像一本小说,最后你发现自己像一个Semi-Pro一样处理Hibernate。

Jpassion提供了很好的video和材料来学习Java EE 6和其他的东西。

您还应该看到应用程序示例:

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

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