This post should have been one of the first actually.
Here is described the design pattern used on Common Expenses, I’ve used MVC as it is very straight forward: separate data management (model), application login (controller) and presentation (view).
As I post earlier the persisten layer is made with Hibernate, then the Businnes Login is implementend via Stateless EJB.
The application controller is a set of Servlet which get requests, work out them and send the result to the presentation layer.
The presentation layer is implemented with JSP.
Here is a schema of the whole application: