浅析Spring MVC的工作原理及其与Spring的关系
2017-09-14 00:00
155 查看
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。
Spring MVC的整个工作过程是从一个HTTP请求开始:
1)DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射项(HandlerMapping),根据配置的映射规则,找到对应的处理器(Handler)。
2)调用相应处理器中的处理方法,处理该请求,处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet,这其中包含了处理结果的视图和视图中要使用的数据。
3)DispatcherServlet根据得到的ModelAndView中的视图对象,找到一个合适的ViewResolver(视图解析器),根据视图解析器的配置,DispatcherServlet将视图要显示的数据传给对应的视图,最后给浏览器构造一个HTTP响应。 DispatcherServlet是整个Spring MVC的核心。
DispatcherServlet负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:
1)截获符合特定格式的URL请求。
2)初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
3)初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。
然后简单说一下Spring MVC与Spring的关系。Spring可以说是一个管理bean的容器,也可以说是包括很多开源项目的总称,而Spring MVC是其中一个开源项目。如果简单进行一个流程,当http请求一到,由容器(如:Tomcat)解析http形成一个request,通过映射关系(比如路径,方法,参数)被Spring MVC一个分发器去找到可以处理这个请求的bean,在Tomcat里面就由Spring管理bean的一个池子(bean容器)里面找到。处理完了就把响应返回。
基于Spring实现的MVC框架是不能不使用Spring的。单独使用Spring MVC,因为其需要依赖IOC容器。但是如果单独为了更好的理解SpringMVC这种MVC框架,就把它和Struts/Struts2等一系列的MVC框架对比理解,理解其只是基于DispatcherServlet或者Filter做一个前端分发器,最终把这个框架引导起来,进行其自己的逻辑处理。
Spring MVC的整个工作过程是从一个HTTP请求开始:
1)DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射项(HandlerMapping),根据配置的映射规则,找到对应的处理器(Handler)。
2)调用相应处理器中的处理方法,处理该请求,处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet,这其中包含了处理结果的视图和视图中要使用的数据。
3)DispatcherServlet根据得到的ModelAndView中的视图对象,找到一个合适的ViewResolver(视图解析器),根据视图解析器的配置,DispatcherServlet将视图要显示的数据传给对应的视图,最后给浏览器构造一个HTTP响应。 DispatcherServlet是整个Spring MVC的核心。
DispatcherServlet负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:
1)截获符合特定格式的URL请求。
2)初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
3)初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。
然后简单说一下Spring MVC与Spring的关系。Spring可以说是一个管理bean的容器,也可以说是包括很多开源项目的总称,而Spring MVC是其中一个开源项目。如果简单进行一个流程,当http请求一到,由容器(如:Tomcat)解析http形成一个request,通过映射关系(比如路径,方法,参数)被Spring MVC一个分发器去找到可以处理这个请求的bean,在Tomcat里面就由Spring管理bean的一个池子(bean容器)里面找到。处理完了就把响应返回。
基于Spring实现的MVC框架是不能不使用Spring的。单独使用Spring MVC,因为其需要依赖IOC容器。但是如果单独为了更好的理解SpringMVC这种MVC框架,就把它和Struts/Struts2等一系列的MVC框架对比理解,理解其只是基于DispatcherServlet或者Filter做一个前端分发器,最终把这个框架引导起来,进行其自己的逻辑处理。
相关文章推荐
- spring-mvc的结构及其工作原理
- aop切面配置不起作用引发的spring容器和spring mvc容器关系学习
- Spring 创建Bean的过程及其源码浅析
- SPI协议及其工作原理浅析(转)
- 浅析java中 Spring MVC 拦截器作用及其实现
- Spring工作原理及其作用
- SPI协议及其工作原理浅析
- SpringMVC系列(十五)Spring MVC与Spring整合时实例被创建两次的解决方案以及Spring 的 IOC 容器和 SpringMVC 的 IOC 容器的关系
- SPI协议及其工作原理浅析
- SPI协议及其工作原理浅析
- Spring工作原理及其作用
- Spring工作原理及其作用
- SPI协议及其工作原理浅析【转】
- spring(基础九) spring mvc 工作原理
- 浅析Spring MVC和Spring BOOT之间的简化小秘密
- SPI协议及其工作原理浅析
- Spring工作原理及其作用
- 九、Spring工作原理及其作用
- (基于Spring3)Spring学习笔记(二):BeanFactory 及其工作原理
- spring容器和spring mvc容器有什么关系?