个人对于spring mvc框架的理解
1个回答
展开全部
以下我的个人理解加上网络上的所查阅资料,对于spring mvc框架的一些总结,不足之处还望指出
在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错,同时也为了组内开发人员之间的配合。总之就是一种分层工作的办法。
(1) 用户通过浏览器向服务器发送请求,请求被springmvc的前端控制器DispatcherServlet拦截;
(2) DispatcherServlet拦截到请求后,会调用HandlerMapping处理映射器;
(3) 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给调用处理器DispatcherServlet;
(4)DispatcherServlet会通过返回信息选择合适的HanderAdapter(处理器适配器);
(5)HanderAdapter会调用并执行Handler(处理器),这里的处理器值的就是程序中编写的Controller类,也被称之为后端控制器;
(6)Controller执行完成后,会返回一个ModelAndView对象,该对象中包含视图名或包含模型和视图名
(7)HandlerAdapter将ModelAndView对象返回给DispatcherServlet;
(8)DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)
(9)ViewReslover解析后,会向DispatcherServlet中返回具体的View
(10)DispatcherServlet对view进行渲染(即将模型数据填充至视图中)
(11)视图渲染结果会返回给客户端浏览器显示
(1)DispatcherServlet接口:Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。
(2)HandlerMapping接口:能够完成客户请求到Controller映射。
(3)Controller接口:需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。Controller将处理用户请求,这和Struts Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。
从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。
(4)ViewResolver接口:Spring提供的视图解析器(ViewResolver)在Web应用中查找View对象,从而将相应结果渲染给客户。
是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:
(1)截获符合特定格式的URL请求。
(2)初始化DispatcherServlet上下文对应WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
(3)初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。
在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错,同时也为了组内开发人员之间的配合。总之就是一种分层工作的办法。
(1) 用户通过浏览器向服务器发送请求,请求被springmvc的前端控制器DispatcherServlet拦截;
(2) DispatcherServlet拦截到请求后,会调用HandlerMapping处理映射器;
(3) 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给调用处理器DispatcherServlet;
(4)DispatcherServlet会通过返回信息选择合适的HanderAdapter(处理器适配器);
(5)HanderAdapter会调用并执行Handler(处理器),这里的处理器值的就是程序中编写的Controller类,也被称之为后端控制器;
(6)Controller执行完成后,会返回一个ModelAndView对象,该对象中包含视图名或包含模型和视图名
(7)HandlerAdapter将ModelAndView对象返回给DispatcherServlet;
(8)DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)
(9)ViewReslover解析后,会向DispatcherServlet中返回具体的View
(10)DispatcherServlet对view进行渲染(即将模型数据填充至视图中)
(11)视图渲染结果会返回给客户端浏览器显示
(1)DispatcherServlet接口:Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。
(2)HandlerMapping接口:能够完成客户请求到Controller映射。
(3)Controller接口:需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。Controller将处理用户请求,这和Struts Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。
从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。
(4)ViewResolver接口:Spring提供的视图解析器(ViewResolver)在Web应用中查找View对象,从而将相应结果渲染给客户。
是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:
(1)截获符合特定格式的URL请求。
(2)初始化DispatcherServlet上下文对应WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
(3)初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询