listener filter servlet的执行顺序

1.tomcat启动可能开启相应的处理各种情况的线程,例如处理请求的线程
也可能直接在main方法中处理这个不是重点
2.new servlet(下一次访问这个servlet的请求过来这步就没有了)
2.将请求封装request,生成事件对象
3.异步触发监听器
4.走filter
5.开启一个新的servlet线程,调用上面new 的servlet的方法 去处理请求
6.然后继续等下一个请求过来

注意:1.各个请求过来tomcat处理这个可能是同步的都在main中处理了,因为这个不走很快的,具体的处理servlet我们都在main中开启一个servlet去处理的

2.servlet的生成默认不是在tomcat启动的时候,因为这个会浪费堆内存,都是第一次请求过来,

3.servlet的产生只产生一次,mvc的controller不同,他是在springboot启动的时候就将disrecrServlet,中央调度器servlet,controller注入ioc了,请求过来就直接开启线程,中央调度器调用controller的相应方法了

4.mvc模式中,只有一个servlet就是中央调度器,在tomcat启动就注入ioc中了,他的作用:请求过来,开启线程,中央调度器将 requestServlet和responseServlet 传递给 具体controller的具体方法

5.mvc模式servlet和 普通servlet的区别

	1.普通servlet,就是在第一次请求过来时创建,然后开启线程,将封装的请求响应数据,传递给 相应servlet的具体方法
	2.而mvc模式,中央调度器在tomcat启动的时候就已经注入 ioc了,而且只有这一个servlet
	请求过来,开启线程中央调度器,将请求响应数据,传递给 具体controller的 相应方法
	3.区别就是:
			普通模式:多个servlet,第一次请求过来创建,tomcat开启线程,调用相应servlet的方法
			mvc模式:一个servlet,多个controller,在tomcat启动时创建,请求过来,tomcat开启线程,中央调度器将,请求响应数据,传递给相应controller的 具体方法
	4.相同点:
		都是在tomcat停止的时候,servlet生命结束

猜你喜欢

转载自blog.csdn.net/Chen4852010/article/details/121104620