Tomcat应用各个组件的默认值是什么

本篇文章给大家分享的是有关Tomcat应用各个组件的默认值是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联建站是一家集网站建设,东莞企业网站建设,东莞品牌网站建设,网站定制,东莞网站建设报价,网络营销,网络优化,东莞网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

今天我们就一起把各个组件的默认值给一起找出来

组件的默认值

Server->StandardServer
Service->StandardService
Executor->StandardThreadExecutor(tomcat里面的线程池实现,为所有的Service所共用)
Connector->new Connector(attributes.getValue(“protocol”));
在EngineRuleSet中,我们可以看到和Engine相关的一系列的初始化

Tomcat应用各个组件的默认值是什么

Engine->StandardEngine
engineConfigClass->org.apache.catalina.startup.EngineConfig
会被转化成 LifecycleListener
Host->StandardHost
hostConfigClass->org.apache.catalina.startup.HostConfig
Context->StandardContext
configClass->org.apache.catalina.startup.ContextConfig
从源码中我们可以看到,Context下面都是和我们的web应用息息相关的.如session , cookie,Parameter

最重要的一点是:
Context中设置的loader 是一个WebappLoader. 对每个Context都会去新建一个WebappLoader , 所以说,tomcat中的web应用都是单独的类加载器.

digester.addObjectCreate(prefix + "Context/Loader",                            "org.apache.catalina.loader.WebappLoader",                            "className");        digester.addSetProperties(prefix + "Context/Loader");        digester.addSetNext(prefix + "Context/Loader",                            "setLoader",                            "org.apache.catalina.Loader");

在加载完Context 之后,会设置Engine的类加载器

digester.addRule("Server/Service/Engine",                         new SetParentClassLoaderRule(parentClassLoader));        addClusterRuleSet(digester, "Server/Service/Engine/Cluster/");

SetParentClassLoaderRule:
会取出digester当前栈顶的元素,并为栈顶的元素设置类加载器

Container top = (Container) digester.peek();        top.setParentClassLoader(parentClassLoader);

其中的parentClassLoader 如下代码所示,是SharedClassLoader

 /**     * The shared extensions class loader for this server.     */    protected ClassLoader parentClassLoader =        Catalina.class.getClassLoader();

tomcat中的类加载器

在上述分析中,我们看到了类加载器的初始化,实际上,在tomcat中,有四种类加载器,分别是Common Class Loader, Catalina Class Loader , Shared Class Loader , Web App Class Loader.
他们可以加载不同位置的类,做到隔离的效果,也可以做到通用的效果
细致的说明我们下一篇文章再细细介绍

最后说两句

Tomcat 中大多数的组件都可以看成Container , 如下图所示

Tomcat应用各个组件的默认值是什么

同时也都有着完整的生命周期:

Tomcat应用各个组件的默认值是什么

所以他们有着相似的行为,因为在阅读源码时,会有一种感觉,他们都在做同样的事情,其实也确实如此, 他们只是对同一行为有着不同的重写.

以上就是Tomcat应用各个组件的默认值是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。

分享标题:Tomcat应用各个组件的默认值是什么
分享URL:https://www.cdcxhl.com/article0/iiiioo.html

成都网站建设公司_创新互联,为您提供网站策划用户体验网站营销定制开发网站内链移动网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发