在Java EE 6中制作Java Web应用程序要学什么?[关闭]


103

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

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

因为这个主题(Web应用程序)是如此之大和复杂,所以我想问下我应该学习什么。当我阅读诸如Java EE,EJB,JSF,JPA,Glassfish之类的流行语时,我会感到过度紧张,但我不会放弃。

谁能告诉我我应该如何继续学习?我应该拿这样的书吗: :从GlassFish 3开始Java EE 6平台:从新手到专业,还是我应该做一些在线教程?

谢谢!


1
我已经阅读了两个主题。但是再说一遍:在线程中,他们只是说“学习Tomcat,JBoss,Hibernate,学习它或那样,等等...”。但是我想知道我应该学习哪些具体的书或教程。也许没有办法,我必须通过查找每个单词来“低效地”学习它。我只是希望能得到建议如何进行。
creativz

1
我建议您从Head First Servlets和JSP开始,只要您对Java核心有很好的了解。如果您不喜欢Java作为编程语言,那么首先需要获得有关Java的知识,然后继续进行Web应用程序开发。
雷切尔

22
自Java EE 6发布以来,所有这些问题都已过时……
Pascal Thivent 09年

4
@Stephen嗯,其实我觉得是有很大的差距,特别是在网络部分(从Servlet 3.0和JSF 2.0和CDI管理的bean)。
Pascal Thivent 09年

1
有趣的是,有多少这样的高票表决的一般问题被封闭为“非建设性的”。我会说它们非常有建设性,但以建设性的方式回答并不容易。他们的确有助于了解人们正在做什么或应该做什么。但是很高兴他们被允许继续这样做。
jackthehipster 2014年

Answers:


174

即使我知道这会引起争议,我的建议还是仅从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,或者只是忘记了所有这些,而去了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)您将花一些时间在所有其他框架和/或工具上以适应并证明仍然需要它们。如果有的话,仍然是时候对幸存者进行实验了,您将能够更好地了解幸存者为何存在。


3
谢谢。关于这本书,我还没有完全阅读,但是我绝对会向想要全面了解Java EE 6的新手和有经验的开发人员推荐它。这本书结构合理,确实涵盖了许多API(不多缺少),它的代码示例演示了所呈现的所有内容,它们确实具有说服力,可以根据需要进行深入研究。将来可能会有更多重点书籍,但这是一本好书。
Pascal Thivent 09年

23
+1,但春天实在太
酷了

13
别误解我的意思,条纹,春天,休眠,……很棒。但是,在发现新内容时,太多的选择可能会造成混淆,我相信Java EE 6允许您在没有它们的情况下开始使用。
Pascal Thivent 09年

9
我同意你的观点,即使您不使用任何JEE堆栈,这也是非常重要的,毕竟,所有这些堆栈都是所有很棒的框架的基础,这些框架使事情变得非常美好,例如Wicket建立在Front Controller的概念在Java世界中意味着Servlet和过滤器-如果您不知道它们是如何工作的,则您也不会真正理解Wicket在做什么!除非您接受“魔术!” 作为答案,当然。
Esko

13
4年后……。您会改变答案吗?
jlars62 2014年

28

我的建议1是停止阅读书籍并开始实施某些东西。根据我的经验,书本学习不足以替代您通过实际做事所获得的知识。


1-上下文:这是给刚读完有关该主题的两本书并正在寻找更多书籍的人的建议。在实践中,您需要在阅读和做事之间取得平衡。尤其是如果您有特定问题要尝试解决。


29
但这可以节省您数天的搜索时间。还可以给您足够的知识来回答问题,而不是问他们并最终在这里享有很高的声誉,您不同意吗?
穆罕默德·盖尔巴纳

6
不,我不同意。OP已经阅读了两本Java / Java EE书籍。现在是他进行一些编程的时候了。FWIW,我没有从读书中获得大部分知识。相反,我主要是通过实现事情并在需要时参考文档来获得它的。您不会通过阅读书籍来学习骑自行车...也不会以这种方式来学习编程技能。
斯蒂芬·C

3
保持平衡reading与平衡很重要practice
smwikipedia 2015年

9

Java EE 6真的很棒。唯一的问题是它大约有2个星期的使用时间,并且只有一个提供此功能的容器-Glassfish。

我没有反对Glassfish的任何东西,我在所有地方,几个生产实例中都使用它,我喜欢产品和项目。

也就是说,Java EE 6的详细信息不会转换回Java EE5。有些做到了,很多做到了,但是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的任何东西。JavaEE 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框架(相对于组件框架)的忠实拥护者,并且可用的Single Stripes书非常好(使选择成为一个简单的选择)。

我不能推荐一本Component框架书,实际上我也不推荐一本。组件框架真正掩埋了HTTP核心请求/响应结构。他们埋葬它们是有原因的,并且通过埋葬它们而获得了价值,但是我认为要有效,您需要在早期就对这些概念有扎实的理解。这就是为什么我不建议先学习组件框架的原因。

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


2
问题是准备生产时应用程序服务器的状态是什么。如果给定项目从现在开始需要6个月的时间,则Oracle和JBoss最有可能拥有符合JEE6的服务器,而Resin最有可能会拥有JEE6 Web Profile服务器。
托尔比约恩Ravn的安德森

好吧,JBoss将于12月发布。甲骨文低调。Resin对其网站配置文件的实施一直保持沉默。Geronimo选择了带有3.0(测试版)的Web Profile。Glassfish在3.0.1中已发布,这确实很棒。
托尔比约恩Ravn的安徒生

5

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

对于Spring,Manning的《 Spring in Action》一书非常好。对于Hibernate(有关Manning的书)也是如此,但是我认为Hibernate基本上不在webapp的范围之内。不过打给你。

小门-曼宁的书也。但实际上,只需用Javascript编写前端代码。IMO,这将减轻痛苦。


3

我不会评论其他技术,但是如果您想学习Hibernate,请获取Cameron McKenzie(www.hiberbook.com)的“ Hibernate Made Easy”。值得全力投资。您可以在2天内(从字面上看)完成该书的阅读。这就像一本小说,最后您发现自己像Semi-Pro一样与Hibernate打交道。


3

Jpassion提供了不错的视频和资料,以学习Java EE 6和其他内容。

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

  1. 宠物店。需要Maven,建议使用Glassfish。由安东尼奥贡萨尔维斯(Antonio Goncalves)撰写,他撰写了该书
  2. JBoss Ticketmonster。需要Maven和Jboss Forge。在Jboss中部署。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.