I'm an aspiring web application developer with a strong though outdated programming and computer science background.<p>I picked up the basics of Ruby on Rails in a few days, and like it, but the websites it creates still feel a bit slow for my taste.<p>For comparison, I'd like to check out GWT - but need to catch up with Java first. (I know C and C++ from the old days well but got distracted from hacking before Java became mainstream.) Can anyone recommend a good book or resource for learning Java for web development, with a view to using GWT?<p>Thanks for any advice.
I am sure there will be many jokes made about Java being slow or something of the sort.<p>That being clear, if you wish to use Java on the server side, check out Struts. There are plenty of books, tutorials and so forth.
If you want to use GWT I have no clue about books but there is plenty online.<p>I haven't done too much with RoR, but I would wonder what you mean by it being slow? What exactly are you doing and how are you doing it? I use a lot of Python/Django, and do some pretty crazy stuff, and the response times are not an issue.
You might want to work through "Core Java Servlets and Java server Pages" available free at <a href="http://pdf.coreservlets.com/" rel="nofollow">http://pdf.coreservlets.com/</a>. A good understanding of servlets and jsp will stand you in good stead when you graduate to frameworks like Struts.<p>Likewise you might want to play around with basic JDBC before you look at ORMs like Hibernate or Cayenne.<p>As far as frameworks go my reccomendation is to use Wicket. It avoids a lot of the cruft of Struts.
I've enjoyed the Head First books series - you'd probably want to check out head first java and head first servlets and jsp. These books are <i>very</i> casual, wordy, and informal, so if you want a dense overview (which you might, considering that you are not new to programming), you might want to look elsewhere. But if you like the writing style, they'd be a good intro for even an experienced programmer.<p>oh - a link to this is wickedlysmart.com