In this chapter, we discussed the Model-View-Controller architecture. We saw how this design pattern establishes three separate layers: presentation, control, and model. We discussed common design patterns within each layer, and how JSPs and servlets, augmented with helper classes, can implement nearly Java-free presentation code. We introduced the Front Controller–dispatched design pattern. Finally, we discussed a Model layer implementation using EJBs augmented with value objects. JavaBeans and the role they can play as presentation helper classes or controller business units within an MVC-based architecture were also discussed. In the next chapter, we'll discuss JSP custom tag libraries and how they fit into the MVC architecture.