Tomcat体系架构,2024Android高级进阶学习资料

Context–上下文

Context是一组称为容器的Tomcat组件的最内层元素,它代表一个Web应用程序。Tomcat在加载应用程序时自动实例化并配置标准上下文。作为配置的一部分,Tomcat还处理\WEB-INF\web.xml应用程序文件夹文件中定义的属性,并使其可供应用程序使用。

Connector–连接器

**连接器处理与客户端的通信。**Tomcat有多个连接器,例如用于大多数HTTP流量的HTTP连接器和AJP连接器(将Tomcat连接到另一个Web服务器(如Apache HTTPD服务器)时使用的AJP协议)。

Tomcat的默认配置包括用于处理HTTP通信的连接器。默认情况下,此连接器等待通过端口8080发出的请求。这就是为什么我们的示例的URL始终以http://localhost:8080/。请注意,对所有应用程序的请求都通过此连接器的单个实例。每个新请求都会导致在请求持续时间内在连接器内保持活动状态的新线程的实例化。有关Tomcat的互联网上的文章通常将此连接器称为“ Coyote”。

Connector的connectionTimeout属性设置为20000表示会话为5小时,33分钟,和不活动的20秒后终止,而**redirectPort =” 8443“**意味着,需要安全套接字层(SSL)输送到来的请求被重定向到端口8443。

AJP连接器允许Tomcat仅处理动态网页,并允许纯HTML服务器(例如,Apache Web服务器)处理静态页面的请求。这最大化了处理请求的效率。您可以注释掉这个连接器,因为今天tomcat本身非常快,或者只是如果您不打算与Tomcat一起使用Web服务器。

Host-主机

**主机是网络名称(例如www.yourdomain.com)与Tomcat服务器的关联。**主机可以包含任意数量的上下文(即应用程序)。您可以在同一服务器上定义多个主机。例如,如果您已注册域yourdomain.com,则可以定义主机名,例如w1.yourdomain.comw2.yourdomain.com。请记住,只有域名服务器将其名称映射到计算机的IP地址时,才能从Internet访问它。

Tomcat的默认配置包括名为localhost的主机localhost和您的计算机之间的关联是通过在文件中写入条目来完成的C:\Windows\System32\drivers\etc\hosts

Host属性“ appBase ”定义Tomcat安装文件夹中的应用程序目录。然后,每个应用程序由该目录中的路径标识。唯一的例外是路径ROOT,它映射到空字符串。localhost的应用程序基目录是webapps。这意味着目录“ C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\ROOT\” 中的应用程序由空字符串标识。因此,其URL为“ http://localhost:8080/”。对于驻留在ROOT以外的目录中的其他应用程序,如“ C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\myapp\”,URL就像“ http://localhost:8080/myapp/”。

属性**autoDeploy =“true”**属性表示如果appBase在Tomcat运行时将应用程序放在目录中,它将自动部署。

Engine–引擎

**引擎表示特定服务的请求处理管道。**由于服务可能具有多个连接器,因此引擎接收并处理来自这些连接器的所有请求,将响应交还给相应的连接器以传输到客户端。

引擎必须包含一个或多个主机,其中一个主机被指定为默认主机。默认的Tomcat配置包括引擎Catalina,它包含主机localhost(显然被指定为默认主机,因为它是唯一的主机)。Catalina引擎处理通过HTTP连接器接收的所有传入请求,并发回相应的响应。它根据请求标头中包含的信息将每个请求转发到正确的主机和上下文。

Service–服务

**服务是一个中间组件,它位于服务器内部,并将一个或多个连接器与一个引擎绑定。**Tomcat的默认配置包括Catalina服务,它将HTTP和AJP连接器与Catalina引擎相关联。因此,Connector和Engine是Service元素的子元素。

Service元素很少由用户自定义,因为默认实现简单而实用。

Server–服务器

**Server是顶级组件,代表Tomcat的一个实例。**它可以包含一个或多个服务,每个服务都有自己的引擎和连接器。

现在让我们讨论上面使用的其他几个概念server.xml

Listener–监听器

监听器是一个Java对象,通过实现org.apache.catalina.LifecycleListener接口,可以响应特定事件。

  • AprLifecycleListener:启用Apache Portable Runtime(APR)库。该库为tomcat提供操作系统级支持。
  • JasperListener:启用Jasper,它是JSP引擎。此侦听器可以重新编译已更新的JSP文档。
  • JreMemoryLeakPreventionListener:处理可能导致内存泄漏的不同已知情况。
  • GlobalResourcesLifecycleListener:负责实例化与全局Java命名和目录接口(JNDI)关联的托管bean。
  • ThreadLocalLeakPreventionListener:还处理可能导致内存泄漏的不同已知情况。
GlobalNamingResources–命名资源

GlobalNamingResources元素只能在Server组件中定义。**它定义了可在整个服务器上访问的JNDI资源。**默认情况下定义的唯一资源server.xml是通过该文件定义的基于用户和密码内存的数据库conf/tomcat-users.xml

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

总结

算法知识点繁多,企业考察的题目千变万化,面对越来越近的“金九银十”,我给大家准备好了一套比较完善的学习方法,希望能帮助大家在有限的时间里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。

这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。

部分资料展示:




有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。

资料获取方法:点赞+关注+转发,然后进入我的【GitHub】,里面有免费获取途径

资料获取方法:点赞+关注+转发,然后进入我的【GitHub】,里面有免费获取途径

  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值