这个Spring Web MVC 框架提供了模型视图控制器的架构,这种结构能够被用来开发灵活的和松耦合的Web应用程序。
这种MVC模式能够将应用程序分离成不同的层面,(输入逻辑,业务逻辑,UI逻辑)同时提供了提供了一中松耦合在下面
三个元素之间
模型层封装了应用层的数据,一般情况下,他们是由POJO组成的。
视图层的责任是展现模型层数据,一般情况下会生成HTML输出到客户端浏览器。
控制层 负责处理用户的请求,建立合适的模型,传递给视图层进行展现
DispatcherServlet
这个Spring Web MVC框架被设计围绕DispatcherServlet来操控所有的HTTP请求和响应,这个Spring Web MVC DispatcherServlet
的请求处理流程如下图所示
下面是HTTP请求DispatcherServet的事件通讯的序列。
1,在接收到一个HTTP的请求之后,DispatcherServlet通过查询HandlerMapping 调用合适的Controller.
2,这个Controller携带这个请求并调用合适的基于GET或POST的方法,这个Services方法会基于业务逻辑和返回到DispatcherServlet的
视图名称设置模型数据
3,这个DispatcherServlet会从ViewResolver收集定义好的视图和请求
4,一旦视图结束 这个DispatcherServlet传递模型数据到视图层,最终展现在视图上。
上面提到的组件Handler Mapping,Controler,View Resolver都是WebApplicationContext的一部分,WebApplicationContext是ApplicationContext
的扩展,并额外添加了一些Web应用需要的特性。