SpringMVC小结

一、什么是MVC

MVC是 model、view、和controller的缩写,分别代表web应用程序中的三种职责:

model-模型:用于存储数据以及能处理用户请求的业务逻辑

view-视图:向控制器提交数据,显示模型中的数据

controller-控制器:根据视图提出的请求,判断将请求和数据交给哪个模型处理,处理后的有关结果交给哪个视图更新显示

二、SpringMVC模型

SpringMVC其实就一种基于Servlet的MVC模型:

模型:一个或多个java bean对象,用于存储数据和业务逻辑。

视图:一个和多个JSP页面,向控制器提交数据和为模型提供数据显示。JSP页面主要使用HTML标记和JavaBean标记来显示数据。

控制器:一个或多个Servlet对象,根据视图提交的请求进行控制,即将请求转发给业务逻辑的java bean,并将处理记过存放到实体模型java bean中,输出给视图显示。

三、SpringMVC的工作原理

img

 

1、 用户客户端发送请求至前端控制器 DispatcherServlet。

2、 DispatcherServlet收到请求调用 HandlerMapping(处理器映射器)。

3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成),一并返回给DispatcherServlet。

4、 DispatcherServlet调用HandlerAdapter(处理器适配器)。

5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

6、 Controller执行完成返回ModelAndView。

7、 HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet。

8、 DispatcherServlet将ModelAndView传给ViewReslover(视图解析器)。

9、 ViewReslover解析后返回具体View。

10、DispatcherServlet根据View进行渲染视图(将模型数据填充至视图中)。

11、 DispatcherServlet响应用户客户端。

ps:

handler跟controller有啥区别?

controller 是 handler,但是handler不是controller。

handler接管所有的DispatchServlet给与的处理信息,包括静态请求(http://……/style.css),并且可以改变请求所指向的资源参数如 String target参数。

controller只做三件事接收参数、调用业务、使用业务结果渲染页面。


版权声明:本文为m0_60454988原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。