The Model-View-Controller Paradigm
Have you ever been taking an online survey and gotten disconnected? Then when you returned to the site later it took you back to exactly the place where you left off as though there hadn't even been a break? Or have you wondered how they can make all those different Web pages with all those questions so quickly, and how they can show different ones depending on the answers you have already given? Well, odds are that you have reached a site based on the Model-View-Controller (MVC) paradigm, also called The Java 2 Model.
If have a simple site with only a few static pages, then using MVC is rather like pulling the engine from your car to change the oil: it works, but it takes quite a bit more effort than necessary. On the other hand, if you're amazon.com or ebay.com, or post those ever-changing surveys, then the MVC paradigm will result in much less effort and expense, and result in a more reliable site, than attempting it with simple server-side scripting.
MVC also separates presentation from content, an important principle in sound Web site design, since the page generators and business logic are implemented in distinct modules. For example, we can rapidly modify the business logic without changing a single page. This is not true in conventional scripting because the two are intimately linked, ie, the business logic is embedded in the pages. There are other important methods for separating presentation from content, such as cascading style sheets, but those are a separate issue.
Developing the modules for an MVC implementation, typically servlets and java beans (or COM objects for an ASP-based system) requires tools and software engineering techniques beyond the abilities of simple Web designers. It is more a software development task than just a Web design task.

