Java for Web Developers Courseware?
brentlaminack asks: "I've been asked by a local college continuing education department to put together a series of professional development courses on web programming in Java. Clearly, there are lots of books out there on Java, but what would you recommend for a professional development course? The material should have good examples, meaningful exercises, (an underrated and very difficult part of putting together courses) and not be 2000 pages or $500 per copy. The material should also cover some Object Oriented architecture and design patterns. As to which web framework... I'm open to suggestions on that as well. After all the smoke clears, I'll try to summarize the responses on my journal."
1.) Does it really have to be Java? I know that's what they asked for, but always be aware of the alternatives. If you think Java sucks for web development, tell them so up front, it'll save you embarassment when some kid says "I had a few minutes of free time at the end of the assignment, so I redid it in Rails."
2.) Whatever you end up doing -- and I know some professors that don't use a book at all, by the way -- make sure at least one of the development environments you use is entirely free (as in beer). Open source is better, but at the very least, they should be free. The last thing you want to do to them is add software licensing to the long list of expenses they'll face coming out of college. Big, expensive tools are fine, so long as they can at least cope with free products, even if the free ones are inferior.
Don't thank God, thank a doctor!
Security is a must for Web developers. There is a set of typical mistakes that are frequently made in Web applications, and most of them are not fixed automagically by using Java. Fortunately plenty of resources are available on the Net:
Make sure your developers read and understand this.
http://erichsieht.wordpress.com/category/english/
You might like to consider Stripes as the web framework for the course. One individual recently switched to using it to teach a masters level course in Java web development (at a university in Nice, France).
On the plus side it:
- Has comprehensive and easy to follow documentation
- Is much simpler to grasp for new developers than Struts, JSF etc.
- Is more OO than most MVC web frameworks, without forcing a component model on you
- Doesn't require gobs of XML (or other) configuration
Stripes:Making Java web development easy like it should be.