spring执行流程图(spring项目启动执行方法)
- 开发语言
- 2023-09-01
- 93
老铁们,大家好,相信还有很多朋友对于spring执行流程图和spring项目启动执行方法的相关问题不太懂,没关系,今天就由我来为大家分享分享spring执行流程图以及s...
老铁们,大家好,相信还有很多朋友对于spring执行流程图和spring项目启动执行方法的相关问题不太懂,没关系,今天就由我来为大家分享分享spring执行流程图以及spring项目启动执行方法的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
spring filter请求流程
Filter的原理
JavaServletAPI中提供了Filter接口,编写Filter的实现类,从而实现自定义过滤器。Filter的请求流程为:
1.客户端发起请求
2.服务容器判断当前请求资源是否有过滤器,有则执行过滤器
3.过滤器过滤通过后请求到Servlet服务器
4.返回结果通过过滤器返回给请求方
spring启动流程
spring的启动是建筑在servlet容器之上的,所有web工程的初始位置就是web.xml,它配置了servlet的上下文(context)和监听器(Listener),
下面就来看看web.xml里面的配置:
spring的上下文监听器
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/application_context.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
spring的启动其实就是IOC容器的启动过程,通过上述的第一段配置<context-param>是初始化上下文,然后通过后一段的的<listener>来加载配置文件,其中调用的spring包中的ContextLoaderListener这个上下文监听器,ContextLoaderListener是一个实现了ServletContextListener接口的监听器,他的父类是ContextLoader,在启动项目时会触发contextInitialized上下文初始化方法。
springmvc 多步流程
工作流程(12步)
1.DispatcherServlet(前端控制器)接收用户的请求;
2.DispatcherServlet调用HandlerMapping(处理器映射器),找到合适的Handler;
3.HandlerMapping(处理器映射器)返回HandlerExecutionChain(合适的Handler的位置)给DispatcherServlet;
4.发送请求到HandlerAdapter(处理器适配器)(打一个比方:家用电的电压为220V,我们的电脑或手机所需要的电压各不相同,所以就需要有电源适配器来起到桥梁作用,这里的处理器适配器也是同样的作用);
5.HandlerAdapter(处理器适配器)将请求交给Handler(处理器)去执行;
6.Handler(处理器)执行请求,并将处理后的结果封装成为一个ModelAndView对象,返回给HandlerAdapter(处理器适配器);
7.HandlerAdapter(处理器适配器)将ModelAndView对象返回给DispatcherServlet;
8.DispatcherServlet调用InternalResourceViewResolver(视图解析器)请求视图解析;
9.InternalResourceViewResolver(视图解析器)解析视图后返回给DispatcherServlet;
10.DispatcherServlet请求渲染视图;
11.View(视图)将渲染好的视图返回给DispatcherServlet;
12.DispatcherServlet响应用户的请求。
spring加载流程
初始化环境—>加载配置文件—>实例化Bean—>调用Bean显示信息
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域中有了所需要的数据,那么就能够进行视图渲染了。最后将其返回即可。
好了,关于spring执行流程图和spring项目启动执行方法的问题到这里结束啦,希望可以解决您的问题哈!
本文链接:http://xinin56.com/kaifa/13860.html