Q1: I want to learn Java Enterprise Edition (JEE). How can I start?
Answer: Ahmad Naqibul Arefin: You can follow the below steps to start Java EE(now it is Java EE, not J2EE):
1. At first, you have to learn Servlet & JSP very well. There is no way to skip these as these are very basic of Java web. And many Java web frameworks built on these technologies.
2. After finishing #1, you should pick any Java web framework for starting, like JSF, Struts 2, Play! etc. You have to learn an ORM ( Hibernate should be 1st choice) framework while learning any web framework.
3. If you are really confident about your learning stage in #2, you are welcome to the Spring world. I am not sharing details about Spring here, but I can say you must love this world for building a better Enterprise.
4. There is no #4, but please note – if you are confident about your programming/software development skill and already you proved that, then you have the option to swap between #2 and #3.
Crackbrained Shakkhor: If you don’t know Java, then go to Google and search” learn java.” It’ll teach you two things: Java and Searching.
If you already know Java, search “learn Spring Framework.” First of all, Java EE is not Spring or any other framework. But Spring is more widely used these days and will get you into the industry much faster.
If you still want to learn JavaEE, google “learn java ee.” In this case, the first thing you need to learn is the difference between an application server and a servlet container because you don’t want to learn a framework thinking that you’re learning the Java EE spec!
Q2: How to become a proficient Java Programmer?
Answer: To be a proficient Java programmer, you may need to have experience with the following tools and technologies-
1. Version controlling system eg git.
2. Build tool – e.g. ant, maven, Gradle.
3. IDE –IntelliJ Idea, Eclipse EE
4. Java Standard Edition ( generics, collection framework)
5. Java EE ( CDI, EJB, JPA, JTA, JMS, JSFetc)
6. Spring framework ( you might not need Java EE if you learn this framework, it’s huge and widely used, however, learning both is preferable)
7. Object Relational Mapping tool eg. Hibernate, Top-Link, iBatis.