I have been reading up Java Server Pages just recently. It's interesting how the idea about the Model View Controller (MVC) design pattern has found its way into web page design. As far as I know, J2EE suggested the use of this pattern first using JSP (View), Servlet (Controller), and EJB (Model). Then, Microsoft supported this pattern through Visual Studio (though, initially, if you didn't have Visual Studio, it would be pretty hard), using the ASPX (View), Code-Behind (Controller), and business code (Model).