Spring MVC使用
【SpringMVC运行原理】
1. 客户端请求提交到DispatcherServlet
2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller
3. DispatcherServlet将请求提交到Controller
4. Controller调用业务逻辑处理后,返回ModelAndView
5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图
6. 视图负责将结果显示到客户端
【SpringMVC如何处理】
1.当用户发送一带*.html(这里可以任意更换后缀名,运行出来的项目有点小误导人,不仔细读了解的话)的请求时,tomcat容器(或者其它服务器)先去读取web.xml,每个请求都要被SpringMVC的DispatcherServlet类拦截一下,当拦截到带.html的后缀名时,他知道这是一个Controller类接下来交给HandlerMapping
2.HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象和多个HandlerInterceptor拦截器对象),通过这种策略模式,可以匹配N多种映射策略,处理完以后控制权再次交给DispatcherServlet对象
3.DispatcherServlet再将控制权交给HandlerAdapter,HandlerAdapter会把处理器包装成适配器,从而可以处理多种类型的处理器(这里是适配器设计模式的应用)4.HandlerAdapter根据适配的结果调用真正的控制器(也就是我们的UserController)的功能方法,完成功能处理,并返回一个ModelAndView对象,此对象包含两部分(模型对象,和视图对象)
5.返回的ModelAndView交给ViewResolver视图解析器对象,又ViewResolver对象将视图对象解析成具体的view,通过这种策略模式我们可以很容易的更换其它类型的视图,(SpringMVC是很强大的)
6.View来对传进的模型对象进行渲染,注意:此处的Moel对象实际上是一个Map结构的对象,也是它很容易实现其它视图技术
7.当这一系列步骤执行完后,控制权重返DispatcherServet手中,最后由DispatcherServlet来响应客户,从哪里进来,从哪里出去 ,到此一个流程结束
注:DispatcherServlet这个类很关键,从头到尾,他就是一个大管家,不执行具体业务,就负责分发任务,收回权限,最后领取功劳。
【DispatcherServlet】
是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。
其主要工作有以下三项:
1. 截获符合特定格式的URL请求。
2. 初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
3. 初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。

浙公网安备 33010602011771号