springmvc流程类图,简述springmvc工作原理
- 数据库
- 2023-08-13
- 245
各位老铁们,大家好,今天由我来为大家分享springmvc流程类图,以及简述springmvc工作原理的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收...
各位老铁们,大家好,今天由我来为大家分享springmvc流程类图,以及简述springmvc工作原理的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
springmvc的工作流程是什么
spring工作的流程
流程如下:
1、用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载springmvc.xml配置文件。
2、前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在springmvc.xml中配置的或者注解的url与对应的处理类找到并进行存储,用map<url,handler>这样的方式来存储。
3、HandlerMapping有了映射关系,并且找到url对应的处理器,HandlerMapping就会将其处理器(Handler)返回,在返回前,会加上很多拦截器。
4、DispatcherServlet拿到Handler后,找到HandlerAdapter(处理器适配器),通过它来访问处理器,并执行处理器。
5、执行处理器
6、处理器会返回一个ModelAndView对象给HandlerAdapter
7、通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)
8、前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(jsp),其实就是将ModelAndView对象中存放视图的名称进行查找,找到对应的页面形成视图对象
9、返回视图对象到前端控制器。
10、视图渲染,就是将ModelAndView对象中的数据放到request域中,用来让页面加载数据的。
11、通过第8步,通过名称找到了对应的页面,通过第10步,request域中有了所需要的数据,那么就能够进行视图渲染了。最后将其返回即可。
springmvc和mybatis整合可不可以不需要spring
首先回答你的问题,肯定是不可以的。提这个问题可能是你对Spring和SpringMVC本身理解不够。下面我简单介绍一下Spring。
Spring:我们一般单说Spring是指的SpringFrameworkzh.wikipedia.org
是一个开源的全栈的开发框架,Spring提供一个功能强大的Spring容器。核心是AOP和IOC。
SpringMVC要说SpringMVC前,先说一下什么是MVC。
MVC是一种使用MVC(ModelViewController模型-视图-控制器)设计创建Web应用程序的模式。可以看到只有是这样三层结构设计的都是MVC框架。较老的SSH中的Struts就是一个MVC框架。随着Spring的发展,Spring本身也有了自己的MVC实现,也就是SpringMVC。而且慢慢取代了Struts。
SpringBoot因为Spring项目的配置复杂等问题,为了简化开发者的使用,从而创造性地推出了SpringBoot。约定优于配置,简化了spring的配置流程。SpringBoot里面有大量的第三方启动包,可以快速搭建项目,可以简单理解是一个Spring项目的脚手架,懒人包。
SpringCloud有了SpringBoot已经可以快速搭建一个服务。但是随着微服务的兴起,服务越来越多。服务的治理成了最主要的问题,SpringCloud就应运而生。
SpringCloud基于SpringBoot,为微服务体系开发中的架构问题,提供了一整完套的解决方案,包括:服务注册与发现,服务消费,服务保护与熔断,网关,分布式调用追踪,分布式配置管理等。
最后官网学习最靠谱,自己可以加深一下理解。
Spring和SpringMVC的区别是什么
Spring和SpringMVC是Java开发中两个不同的框架,它们之间的区别如下:
1.定位不同:Spring是一个完整的应用程序框架,用于开发企业级Java应用程序。它提供了核心容器、AOP、事务管理等多种功能,可以帮助开发者快速构建大规模、高效的Java应用程序。而SpringMVC则是一种基于Spring框架的Web应用程序开发框架,主要用于处理Web请求和响应、实现页面渲染、控制流程等。
2.功能不同:Spring提供了诸如依赖注入、面向切面编程(AOP)、Hibernate集成、JDBC访问、消息队列等众多功能,可以帮助开发人员构建更加丰富和复杂的Java应用。而SpringMVC则针对Web应用程序开发,提供了一套完整的MVC(Model-View-Controller)架构解决方案,用于实现Web请求和响应、视图渲染等功能。
3.使用方式不同:Spring通过XML或Java配置文件来定义Bean、AOP、事务等,使用起来比较灵活但也需要一定的学习成本;而SpringMVC则采用基于注解的方式,使得代码量减少,开发效率更高。
spring mvc流程详解
1、首先创建父容器(AnnotationConfigWebApplicationContext),通过自定义的getRootConfigClasses()拿到配置类,并注册到父容器中。
2、通过父容器作为参数创建ContextLoaderListener监听器。并添加到servletContext(Tomcatservlet容器)。
3、通过自定的getServletConfigClasses()方法拿到MVC的配置类创建子容器,并把配置类注册到子容器中。
4、创建DispatcherServlet,并将DispatcherServlet添加到servletContext的Servlet容器中去。
5、设置dispatcherServlet相关属性(启动时加载,设置映射路径)。
springmvc原理及流程
第一步:用户发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者注解进行查找
第三步:找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)
第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)
第五步:处理器适配器去执行Handler
第六步:Handler执行完给处理器适配器返回ModelAndView
第七步:处理器适配器向前端控制器返回ModelAndView
第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析
第九步:视图解析器像前端控制器返回View
第十步:前端控制器对视图进行渲染
第十一步:前端控制器向用户响应结果
springmvc流程类图和简述springmvc工作原理的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!
本文链接:http://xinin56.com/su/215.html