Two good JavaPro articles

Almost All Java Web Apps Need Model 2

You use Model 1, which is page-centric, for simple applications or if you want to get something done quickly. Applications implementing this model have a series of JSP pages where the user proceeds from one page to another. This is the model you always employ when you first learn JSP because it’s simple and easy. The main problem with Model 1 applications is that they’re hard to maintain and not flexible. In addition, this architecture does not promote the division of labor between the page designer and the Web developer because the developer is involved in both the page development and business objects coding.

Cofax is a Model 2 application

Using Hashtables in Java

Good article. Doesn’t emphasize enough the performance benefits of unsynchronized HashMaps over HashTables though. I agree that you should probably use HashMaps in all cases where you don’t know up front you need synchronization – which has a performance penalty attached to it.