我的目标是制作Web应用程序!
我读完了“ Headfirst-Java”和“ Headfirst-Servlets和JSP”这两本书。
因为这个主题(Web应用程序)是如此之大和复杂,所以我想问下我应该学习什么。当我阅读诸如Java EE,EJB,JSF,JPA,Glassfish之类的流行语时,我会感到过度紧张,但我不会放弃。
谁能告诉我我应该如何继续学习?我应该拿这样的书吗: 吗:从GlassFish 3开始Java EE 6平台:从新手到专业,还是我应该做一些在线教程?
谢谢!
我的目标是制作Web应用程序!
我读完了“ Headfirst-Java”和“ Headfirst-Servlets和JSP”这两本书。
因为这个主题(Web应用程序)是如此之大和复杂,所以我想问下我应该学习什么。当我阅读诸如Java EE,EJB,JSF,JPA,Glassfish之类的流行语时,我会感到过度紧张,但我不会放弃。
谁能告诉我我应该如何继续学习?我应该拿这样的书吗: 吗:从GlassFish 3开始Java EE 6平台:从新手到专业,还是我应该做一些在线教程?
谢谢!
Answers:
即使我知道这会引起争议,我的建议还是仅从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)您将花一些时间在所有其他框架和/或工具上以适应并证明仍然需要它们。如果有的话,仍然是时候对幸存者进行实验了,您将能够更好地了解幸存者为何存在。
我的建议1是停止阅读书籍并开始实施某些东西。根据我的经验,书本学习不足以替代您通过实际做事所获得的知识。
1-上下文:这是给刚读完有关该主题的两本书并正在寻找更多书籍的人的建议。在实践中,您需要在阅读和做事之间取得平衡。尤其是如果您有特定问题要尝试解决。
reading
与平衡很重要practice
。
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的本应。但是我不知道这本书。
Jpassion提供了不错的视频和资料,以学习Java EE 6和其他内容。
您还应该看到应用程序示例:
如果您只想用Java创建Web应用程序,请查看Play Framework。它类似于“ Ruby on Rails”