javaweb中没有main方法 是怎么启动的。
最近在做springboot项目springboot内置了tomcat,但却不明白之间的关系,以为是springboot启动了,加载了tomcat,然后执行的,原来是不对的。文章目录tomcat启动Springboot与tomcat的关系tomcat启动在tomcat中有一个bootstarp类就是他启动会去加载jar包然后执行的。当执行了tomcat中startup的shell脚本,就会启动jv
最近在做springboot项目
springboot内置了tomcat,但却不明白之间的关系,以为是springboot启动了,加载了tomcat,然后执行的,原来是不对的。
tomcat启动
在tomcat中有一个bootstarp类
就是他启动会去加载jar包然后执行的。
当执行了tomcat中startup的shell脚本,就会启动jvm,然后使用类加载器,加载Bootstart类,该类会执行main方法,去加载webapp下的war. web项目就启动起来了
Springboot与tomcat的关系
springboot先启动会创建根上下文webapplicationcontext,然后通过createWebServer逐步创建tomcat(createWebServer->TomcatServletWebServerFactory 工厂创建 TomcatWebServer->tomcat->去执行startup) 初始化时会将根上下文传入。
参考文章 Tomcat组件梳理—Bootstrap启动器
Spring boot,Tomcat容器之间关系以及请求执行流程
JavaWeb项目没有main怎么跑
SpringBoot是如何使用tomcat的
Spring boot,Tomcat容器之间关系以及请求执行流程
更多推荐
所有评论(0)