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

问题描述:

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

My goal is to make web applications!

我读完了Headfirst - Java"和Headfirst - Servlets and JSP"这本书.

I finished reading the Books "Headfirst - Java" and "Headfirst - Servlets and JSP".

因为这个话题(web应用)又大又复杂,所以想问一下接下来要学什么.当我阅读 Java EE、EJB、JSF、JPA、Glassfish 等流行语时,我感到压力过大……但我不会放弃.

Because this topic (web applications) is so big and complicated, I would like to ask what I should learn next. I feel overstrained when I read catchwords like Java EE, EJB, JSF, JPA, Glassfish ... but I won't give up.

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

Can anyone please tell me how I should proceed with learning? Should I grab a book like this: Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional or should I just make some Online tutorials?

谢谢!

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

Even if I know that this will be controversial, my advice would be to start with Java EE 6 only. So, grab GlassFish v3 and either get the book Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional or follow the Java EE 6 tutorial. In my opinion, the book (that I've started to read so I know what I'm talking about) provides more guidance which might be preferable if "everything" is new for you (it covers both the Java EE platform and its APIs and the environment to build, deploy your applications).

现在,正如我所说,我已经可以听到诸如这样的声音:Java EE 很重,请改用 Spring,学习 Struts 或 Wicket 或 Stripes 用于表示层,学习 Hibernate 以获得持久性,或者不是因为我不喜欢 ORM,改用 iBatis 或直接 JDBC(你会看到,Spring 很酷,Spring 太酷了),并使用 Tomcat(为什么不使用 Jetty)或 JBoss,或者只是忘记这一切并继续Grails 和 bla bla bla ......".

Now, as I said, I can already hear voices saying things like "Java EE is heavy, use Spring instead, learn Struts or Wicket or Stripes for the presentation layer, learn Hibernate for persistence, or not because I don't like ORM, use iBatis or straight JDBC instead (you'll see, it's cool with Spring, Spring is so cooool), and use Tomcat (and why not Jetty), or JBoss, or just forget all this and go for Grails, and bla bla bla...".

但我不认为这真的对您有帮助,而且如果没有指导或指导(并且您不会找到涵盖所有组合的非过时的独特资源),对于初学者来说,这听起来一定很混乱.

But I don't think that this is really helping you and, without mentoring or guidance (and you won't find a non outdated unique resource covering all combinations), this must sound very confusing for a beginner.

所以,因为我认为 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 开始个人资料(如果您想进一步了解,然后添加内容).

So, because I think that Java EE 6 is a big improvement over previous versions of Java EE, because it provides really nice standard APIs for all your needs (Servlet 3.0, JSF 2.0, JPA 2.0, EJB 3.1 lite, Bean Validation 1.0, CDI, etc), because these APIs are all more than decent, because there is nothing really wrong in learning them, because this is already a big task, because you have to start somewhere, I'd focus on Java EE 6 only and forget the other frameworks for now. More precisely, I'd start with the Java EE 6 Web Profile (and then add things if you want to go further).

通过这样做,1) 你会开始,你会学到全新的东西,2) 你会花一些时间去适应所有其他框架和/或工具,并证明仍然需要他们.如果有,仍然需要对幸存者进行实验,您将能够更好地理解它们存在的原因.

By doing this, 1) you'll get started and you'll learn brand new things and 2) you'll give some time to all other frameworks and/or tools to adapt and prove that there is still a need for them. And if there is, it will still be time to experiment the survivors and you'll be able to understand much better why they exist.