解决方法
MVC2是一个abuse of language实际上引用了JSP Model 2架构,而不是JSP Model 1:
The first Java technology for server-side web development was the servlet.
Writing applications with servlets was very similar to writing CGI applications in Perl in that all of the output had to be built up as Strings from within Java code.
This was very tedious and error-prone. It also made it very difficult for web designers with no Java experience to alter the look and feel of the pages generated by servlets.
alt text http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL1_sml.gif
Then came JSP. JSPs,like Microsoft ASPs and like the popular scripting language PHP,treat everything as template text,but allow the insertion of Java code into tags called scriptlets and JSP expressions.
@H_404_28@
This allowed people to work on server-side applications just as they would with the other popular scripting languages but it had a couple of drawbacks.There was no separation of concerns. One script would hold database code,business logic,HTML markup and any javascript code needed for the final page rendering. Code reuse was difficult as was automated testing. This came to be known as “Model 1” JSP programming.
07003 was a common technique for separating the varIoUs concerns in GUI code invented by Trygve Reenskaug,working on Smalltalk for Zerox.
At some point it became clear that this technique could be adapted to Java EE applications to achieve the same level of separation.
Doing so involves writing the Model layer as Beans or Plain Old Java Objects (POJOs),using servlets as the Controller,and then,when all the heavy lifting is done,forwarding to a JSP to format and markup the results.
Servlet/JSP applications written using and MVC architecture came to be known as Model 2 JSP programming.
alt text http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL2_sml.gif
Because this pattern existed in a different form before being used in servlet/JSP applications,it was sometimes referred to as “MVC2”. This name led to some confusion as it implied that there is an MVC1 for servlet applications,which there is not. It is sufficient just to say MVC.