Tomcat原理简述
Tomcat依赖/conf/server.xml这个配置文件启动server(一个Tomcat实例,核心就是启动容器Catalina)。Tomcat部署Webapp时,依赖context.xml和web.xml(<CATALINA_HOME>/conf/目录下的context.xml和web.xml在部署任何webapp时都会启动,他们定义一些默认行为,而具体每个web
Tomcat依赖/conf/server.xml这个配置文件启动server(一个Tomcat实例,核心就是启动容器Catalina)。
Tomcat部署Webapp时,依赖context.xml和web.xml(<CATALINA_HOME>/conf/目录下的context.xml和web.xml在部署任何webapp时都会启动,
他们定义一些默认行为,而具体每个webapp的 META-INF/context.xml 和 WEB-INF/web.xml 则定义了每个webapp特定的行为)两个配置文件部署web应用。
第一部分、Tomcat的简介和启动过程
/bin :存放启动和关闭tomcat的脚本文件 ;
/conf: 存放tomcat服务器的各种配置文件;
/lib:存放服务器启动支撑的jar包;
/logs:存放Tomcat执行时的日志文件;
/temp: 存放tomcat运行时产生的文件
/webapps:Tomcat的主要Web发布目录(包括应用程序示例);
/work:存放jsp编译后产生的class文件;
二、Tomcat启动过程
1、开启Tomcat:
a .在任意一个编译器中启动
b .bin/startup.bat
c .在windows下启动springboot项目,在cmd中,jar所在位置使用命令: java -jar 路径/项目.jar
d .在linux服务器中,编写脚本,执行startup.sh
1、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。
2、Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应。
3、Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host。
4、Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),
名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有的Context。
Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理)。
5、path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。
Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。
6、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost().执行业务逻辑、数据存储等程序。
7、Context把执行完之后的HttpServletResponse对象返回给Host。
8、Host把HttpServletResponse对象返回给Engine。
9、Engine把HttpServletResponse对象返回Connector。
10、Connector把HttpServletResponse对象返回给客户Browser。
更多推荐
所有评论(0)