I am learning web applications design using Servlets/ JSP and Struts. Though there are good books like Head First Servlets and JSP, I feel that it would be great if there is any moderately complex java web application which is open source so that i can go through the code to appreciate the following :
The design of application (OO)
Usage of JNDI
Various features of Servlets and JSP and how they are put to use practically
Database design. JDBC, Data Access Layer
Usage of important design patterns Messaging and JMS
XML and its usage
If someone could point out any such application which is moderately complex, open source and which is illustrative of the above features, it would be of great help to me. Or if there are any books that has a sample application with the above features that would be good as well.