小蚂蚁 发表于 2021-12-12 14:25:35

#yyds干货盘点#tomcat总结

什么是tomcat?

[*]免费的轻量级Web应用服务器

tomcat的优点:

[*]技术先进
[*]性能稳定
[*]免费

结构简述

[*]server容器(服务器容器):server是tomcat的顶级构成容器
[*]service容器(服务容器):

[*]Tomcat的次顶级容器
[*] Connectors(连接器,相当于水管)

[*]一般有多个,因为一个服务有多个连接(一条连接协议无法支持整服务)
[*]封装的协议(HTTP、HTTPS、AJP、其他的协议)
[*]作用:通过包装协议提供给Container与页面的请求和响应

[*]Container(容器,相当于水桶)

[*]一般有多个,因为一个服务有多个连接(一条连接协议无法支持整服务)
[*]封装的协议(HTTP、HTTPS、AJP、其他的协议)
[*]作用:通过包装协议提供给Container与页面的请求和响应

[*]Engine容器

[*]可以配置多个虚拟主机Virtual Host
[*]每一个虚拟主机都有一个域名,当Engine获取一个请求时,会把请求匹配到某一个Host上,然后把该请求交给Host处理。
[*]Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,就交给默认的Host处理。

[*]Host容器

[*]虚拟主机,虚拟主机下面可以有一个或多个WebApp
[*]每一个Web Application对应一个Context

[*]Context容器

[*]一个Context对应一个Web Application
[*]管理多个Wrapper

[*]Wrapper容器

[*]一个Servlet对应Wrapper

执行过程

[*]客户端发送请求:index.jsp
[*]请求发送到本机端口8080
[*]Connector请求交给Engine来处理,等待Engine回应
[*]Engine获得请求index.jsp,匹配它拥有的Host(即使匹配不到请求交给Host处理,因为Host被定义为Engine的默认主机)
[*]Host获取index.jsp请求,匹配它所有的Context
[*]<Context   docBase="D:\tomcat8\wtpwebapps\JiaoMen"   path="/JiaoMen" reloadable="true"   source="org.eclipse.jst.jee.server:JiaoMen"/></Host>
[*]在path下面获取资源路径,寻找对应的servlet
[*]构造HttpServletRequest对象和HttpServletResponse对象,调用doGet或doPost方法
[*]Context执行完之后Response对象返回给Host
[*]Host返回Engine
[*]Engine把返回给Connector
[*]Connector返回客户端

[*]

配置tomcat

[*]配置环境变量
CATALINA_BASE 变量值:D:\apache-tomcat-7.0.57
CATALINA_HOME,变量值:D:\apache-tomcat-7.0.57
打开PATH,添加变量值:;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin
[*]去bin目录下,启动startup.bat启动。在浏览器输入:http://localhost:8080/
[*]命令启动startup(如果不行,说明环境变量没有配置好)
[*]shutdown(关闭)




























https://blog.51cto.com/u_14765571/4789343
页: [1]
查看完整版本: #yyds干货盘点#tomcat总结