1.它没有主方法,所以依托于tomcat启动。tomcat是java写的,有主方法
2.先有tomcat,servlet,后出现SpringMVC框架 //mvc是用来请后交互。model-views-controller(模型-视图-控制器)
3.疑惑点:tomcat先开发,那和mvc是怎么交呼的
(1)tomcat启动web.xml。
(2)tomcat只识别servlet。
4.linux下 start.sh启动,
然后调用catalina.sh记录了主方法所在的路径。也有bootstrap所在路径。
主方法启动会自动扫描webapp下所有文件。识别出所有以.class结尾的文件
识别后,拿到磁盘路径。使用class.forName(路径),反射得到所有类信息。
产看注解信息,看类是否包含servlet的注解。@WebServlet("/ASD")。查看注解挑出所有的servlet
5.获取注解路,作为HashMap的key放到Map中,value是servlet的对象。doget和dopost对象。
前端发请求就可以截取路径到hashmap里面匹配,找到相应的servlet对象去调用
6.控制器的注解tomcat不识别。比如:@Component,@Respotory,@service,@Controlle