【吊打面试官】tomcat高频面试题和答案
题目汇总
Tomcat是什么?
Tomcat的缺省端口是多少,怎么修改
tomcat 有哪几种Connector 运行模式(优化)?
Tomcat有几种部署方式?
tomcat容器是如何创建servlet类实例?用到了什么原理?
Tomcat工作模式
Tomcat顶层架构
Tomcat顶层架构小结
Connector和Container的微妙关系
Container架构分析
Container如何处理请求的
总结
答案详情
Container架构分析
Container用于封装和管理Servlet,以及具体处理Request请求,在Container内部包含了4个子容器,结构图如下:
4个子容器的作用分别是:
Engine:引擎,用来管理多个站点,一个Service最多只能有一个Engine;
Host:代表一个站点,也可以叫虚拟主机,通过配置Host就可以添加站点;
Context:代表一个应用程序,对应着平时开发的一套程序,或者一个WEB-INF目录以及下面的web.xml文件;
Wrapper:每一Wrapper封装着一个Servlet;
Context和Host的区别是Context表示一个应用,我们的Tomcat中默认的配置下webapps下的每一个文件夹目录都是一个Context,其中ROOT目录中存放着主应用,其他目录存放着子应用,而整个webapps就是一个Host站点。
我们访问应用Context的时候,如果是ROOT下的则直接使用域名就可以访问,例如:www.baidu.com,如果是Host(webapps)下的其他应用,则可以使用www.baidu.com/docs进行访问,当然默认指定的根应用(ROOT)是可以进行设定的,只不过Host站点下默认的主应用是ROOT目录下的。
看到这里我们知道Container是什么,但是还是不知道Container是如何进行请求处理的以及处理完之后是如何将处理完的结果返回给Connector的?别急!下边就开始探讨一下Container是如何进行处理的!
回复【tomcat】领取吊打面试官答案