Background: I am a business grad who ended up in a technical startup in '05 that introduced me to Python with which I had an immediate love affair with from that point on. I spent years learning good programming patterns through trial and error. Now I have the opportunity to jump feet first into developing full time but with a caveat I have to learn Java. I have always felt that Python did 99% of what I needed to do but hey, you go where the money is. My focus up to now has been data analysis, reporting, and web interfaces using Django, cherrypy, etc.
Current Situation: I'm trying to learn Java like I learned Python. Pick a problem, find a hammer and pound the hell out of it, except I've been falling flat on my face with Java. J2EE is a nightmare. I have tried Spring 3/Roo, Struts, and Tapestry for a solid month with no traction to speak of. Not even business logic yet, all configuration. My current try is to break it down to the bare bones ie: straight servlets and slowly add in components like Hibernate. Most examples seem to start with struts and go from there.
So,
What is the best way to quickly bootstrap my way through J2EE? I've been working through an online course @ http://www.fas.harvard.edu/~libe50b/ for basic Java. I plan on taking a few courses in the fall at the local U, but I'm looking for something that will make Struts/Spring/Hibernate make sense now.
Any advice is greatly appreciated!
/rant
back to metadata hell...
With JEE6 you can pretty much start writing code immediately. Without any configuration.
In the most recent Netbeans with Glassfish you can pretty much create a new JEE project and start writing POJOs with business logic, timers or REST endpoints without any configuration except simple annotations.
Netbeans will also auto-reload your code right away on the ap pserver (glassfish) so you can see it in action or debug it immediately.