Spring MVC的工作流程
1、什么是Spring MVC
?
SpringMVC
是基于Java
实现的一种MVC
设计架构的轻量级框架。
MVC
即
M:Model
主要用于完成业务操作V: View
展示数据C:Controller
获取数据,处理数据,将数据交给视图
这种分层设计有效的进行了解耦操作,使设计更加灵活。
2、Spring MVC
的工作流程
Web
容器启动,通知Spring
进行初始化容器,加载Bean的类信息,初始化单例Bean- 遍历所有Bean,获取每一个
Controller
中每一个方法的URL
,把Controller
和相应的URL
保存到一个Map集合中 - 把集合转发给
DispatcherServlet
(前端控制处理器),DispatcherServlet
请求HandlerMapping
找到所有标注了Controller
的类和RequestMapping
的方法和类,生成Handler
(处理器)和HandlerInterceptor
(拦截器)(如果有的话生成),再以HandlerExcutionChain
(处理器执行链)的形式返回。 - 根据
Handler
找到HandlerApapter
(处理器适配器),执行方法处理请求并返回ModelAndView
给DispatcherServlet
DispatcherServlet
将ModelAndView
转发给ViewResolver
(视图解析器)进行视图的解析于渲染。并将渲染后的视图返回给DispatcherServlet
DispatcherServlet
将视图返回给客户端
3、Spring MVC的优点:
- 容易和其它View框架(Titles等)无缝集成,采用
IOC
便于测试。 - 它是一个典型的教科书式的
mvc
构架,而不像struts
等都是变种或者不是完全基于mvc
系统的框架,spring
适用于初学者或者想了解mvc
的人。 - 它和
tapestry
一样是一个纯正的servlet
系统,这也是它和tapestry相比 struts所没有的优势。而且框架本身有代码,而且看起来也不费劲比较简单可以理解。