My advice would be to concentrate on basics as of now like JSP, Servlet etc. EJB is more complex and needs some time to understand and master.
In case of frameworks, if you are working on some professional project, there will be some framework used. I think the good way to learn it will be on the job if you are a developer. I have been in J2EE for past several years. And this has helped me.
If you are an architect or technical specialist then may be you can start learning it one by one based on priorities based on popularity, purpose of the framework etc.
If your projects are hobby projects then its tricky. i think good will be if you invest time in knowing little in broad sense about each framework. And then choosing the ones you feel to study or are useful for your application etc.
You will not be able to start quickly in a short period of time. J2EE is HUGE. The web part (Servlets/JSP) is just a small part of it. There's also EJB, JavaMail, JMS, JNDI, JMX, JDBC, JAX-WS, and probably others.
If you're only interested in the web part, then you don't need to learn any framework. They're all built upon servlets/JSP, so if you know those, you're good to go.
I got a java developer job half a month ago,the project I join in used many opensource frameworks I've mentioned above.My team leader askd me to get start as soon as possible,but I found that is too difficult for me - there are too many new konwledge I have never used or even heart before.
The project is so complex and lagre for me(I have no experiencs about professional web development befoe) with hundereds of class and config files.I tried to start learning from the web.xml but soon fall into the maze of the relations between classes.
I've spended 15 days and got little,I wonder that how to start learning with a new project as soon as possible.
Joined: Mar 22, 2005
Originally posted by pengpeng lin: I've spended 15 days and got little,I wonder that how to start learning with a new project as soon as possible.
This sounds excessive. Haven't you gotten an introduction into the architecture, the design and the code structure by some of the other team members?
Not that this answers your question, but it sounds like your problem is a management one. The project tech lead should be giving you assignments in easy-to-digest chunks that only force you to learn a few new things. For example, when I have a new person with relatively little experience I might assign them to work on JSPs for example, and then under the auspices of someone more experienced. In another phase of the project, once the new person has gotten a handle on the JSPs, I might then have them work on some of the webapp framework components (like Struts for example). Tech leads who don't do this are going to have their people hopelessly lost and not being overly productive.
So my advice, if you can, is to take it slow. If, and only if, you already understand JSPs and Servlets, then tackle a webapp framework such as Struts or SpringMVC. Start by following some tutorials and creating a toy application to help you learn. After you learn that, if your project is using Spring, learn to use Spring to do simple dependency injection DI. But before trying to learn the framework, spend some time learning about what DI is and why you want to do it in the first place.
So I guess my general advice is to try to learn the basics first, and then when you go to learn a framework, first learn about the problem the framework is trying to solve. You might also approach your tech lead for guidance on how to best focus your learning in order to best help the project. [ May 19, 2007: Message edited by: Jason Menard ]
Joined: Dec 24, 2005
Thanks,Jason Menard and other people,your kind suggestions have help me a lot.
Now I have realized that what I need and what should I concern about is the basic tech.I'll readjust my study plan in the future.