说到Spring MVC,不得不先来谈谈什么是MVC,它和三层架构有什么关系。
MVC:Model + view + Controller (数据模型+视图+控制器)。
三层架构:Presentation tier + Application tier + Data tier(展现层+应用层+数据访问层)。
那么MVC和三层架构有什么关系呢?有的人认为:
MVC的M就是数据访问层、V就是展现层、C就是应用层。怎么样?听上去是不是好像很有道理?
但是实际上MVC只存在三层架构的展现层,M实际上是数据模型,是包含数据的对象。在Spring MVC里,有一个专门的类叫Model,用来和V之间的数据交互、传值;V指的事视图层页面,包含JSP、freeMarker、velocity、Thymeleaf、Tile等;C当然就是控制器(Spring MVC的注解@Controller的类)