只是想知道MVC和MVC Model2在开发上的实际区别是什么
最佳答案
为了说明前面的答案(并添加来自 this article 的解释):
MVC2 是一个 abuse of language实际上指的是 JSP 模型 2 体系结构,而不是 JSP 模型 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.
(来源:javaworld.com)
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.
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.
MVC or the Model View Controller pattern 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.
(来源:javaworld.com)
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.
关于java - MVC 和 MVC Model2 之间的实际区别是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796508/