Tomcat学习笔记1

目录结构

bin执行目录:sh文件liux上的,bat文件windows上的

lib:依赖的jar

conf:catalina.policy 权限相关 Permission Tomcat是跑在jvm上的,所以有 些默认的权限。

server.xml: Server节点->Service ->Executor(线程池)Connector连接器

Connector连接器 用线程池的话,connector里面的maxThreads是无效   的。

Executor (线程池)maxThreads 不设置的话一般是默认200

web.xml:DefaultServlet默认的,加载静态文件 html,js,jpg等静态文件。

JspServlet专门处理jsp

mime-mapping 文件类型,其实就是Tomcat处理的文件类型。

日志

catalina.xxxx.log 我们的Tomcat有问题,启动不了找这个文件

三种部署方式

隐式部署:webapps目录下

显式模式:

1server.xml中的Host加入一个Context(指定路径和文件地址)

2)conf/Catalina/localhost中创建xml文件(热部署),访问路径为文件    

Tomcat的架构

两大核心组件

Connector组件:连接器,主要负责Tomcat与客户端的通讯

Container组件:Servlet容器

一个请求的处理流程

httpConnector就是链接器

httpProcessor是具体的处理类

Container是容器(servlet)

 

 

下载源码(8.0版本):

http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.53/src/apache-tomcat-8.0.53-src.zip

安装百度下:https://www.jb51.net/article/95120.htm

 

Tomcat启动步骤

Bootstrap -> catalina -> server -> service -> connectorcontainer

 

初次看源码建议看到service即可(StandardService)

 

             Tomcat Server处理一个HTTP请求的过程

Tomcat Server处理一个HTTP请求的过程

1、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。 

2Connector把该请求交给它所在的ServiceEngine来处理,并等待Engine的回应。 

3Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host 

4Engine匹配到名为localhostHost(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhostHost获得请求/test/index.jsp,匹配它所拥有的所有的ContextHost匹配到路径为/testContext(如果匹配不到就把该请求交给路径名为“ ”Context去处理)。 

5path=“/test”Context获得请求/index.jsp,在它的mapping table中寻找出对应的ServletContext匹配到URL PATTERN*.jspServlet,对应于JspServlet类。 

6、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServletdoGet()或doPost().执行业务逻辑、数据存储等程序。 

7Context把执行完之后的HttpServletResponse对象返回给Host 

8HostHttpServletResponse对象返回给Engine 

9EngineHttpServletResponse对象返回Connector 

10ConnectorHttpServletResponse对象返回给客户Browser

 

根据原作 https://pan.quark.cn/s/0ed355622f0f 的源码改编 野火IM解决方案 野火IM是专业级即时通讯和实时音视频整体解决方案,由北京野火无限网络科技有限公司维护和支持。 主要特性有:私有部署安全可靠,性能强大,功能齐全,全平台支持,开源率高,部署运维简单,二次开发友好,方便与第三方系统对接或者嵌入现有系统中。 详细情况请参考在线文档。 主要包括一下项目: 野火IM Vue Electron Demo,演示如何将野火IM的能力集成到Vue Electron项目。 前置说明 本项目所使用的是需要付费的,价格请参考费用详情 支持试用,具体请看试用说明 本项目默认只能连接到官方服务,购买或申请试用之后,替换,即可连到自行部署的服务 分支说明 :基于开发,是未来的开发重心 :基于开发,进入维护模式,不再开发新功能,鉴于已经终止支持且不再维护,建议客户升级到版本 环境依赖 mac系统 最新版本的Xcode nodejs v18.19.0 npm v10.2.3 python 2.7.x git npm install -g node-gyp@8.3.0 windows系统 nodejs v18.19.0 python 2.7.x git npm 6.14.15 npm install --global --vs2019 --production windows-build-tools 本步安装windows开发环境的安装内容较多,如果网络情况不好可能需要等较长时间,选择早上网络较好时安装是个好的选择 或参考手动安装 windows-build-tools进行安装 npm install -g node-gyp@8.3.0 linux系统 nodej...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值