Tomcat原理简述
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。
總結
以上是生活随笔為你收集整理的Tomcat原理简述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (JavaScript)实现在客户端动态
- 下一篇: [burp][CTF]burp intr