I'm new to j2ee web development and have finished the jsp/servlet learning last week, in the past time I heard many fashion frameworks such as:struts,webwork,hibernate,spring even ajax in the network.
I feel very confused and disappointed when face these frameworks,I don't konw where to start and how to start.Are these framework necessary in the daily work? what is the most common use of them?
Can anybody here share your mind and experience with me about the best way to learn j2ee web development,or give me some suggestion about how to start quicky in short time.
think you very much!
Joined: Jun 18, 2001
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.
I think it's very good to know the basics of servlets and jsp's, but frameworks like Spring or Struts can save you a lot of time (once you know how to use them).
Start with the tutorial above on Struts, then try if you can rebuild one of your own applications using Struts.
Joined: Mar 22, 2005
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?
Joined: Nov 09, 2000
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 ]