透析tomcat各个配置文件的作用和修改方式

这篇文章笔者将通过Tomcat的配置文件来了解一下Tomcat,先从外部,tomcat暴露给我们的这方面来了解一下Tomcat!

首先是conf下的server.xml文件,这个文件也是我们接触最多的tomcat的配置文件,下图为去掉注释后的Tomcat的主要配置:透析tomcat各个配置文件的作用和修改方式

首先明确一点:这些标签都被Tomcat通过Digester库进行解析,并且其属性也标识了具体生成此接口的哪个具体的实现类

  • Server 在tomcat中对应的是Server接口的实例,这个实例表示的整个servlet引擎,囊括了所有的组建,它使用一种非常优雅的方式来启动和关闭整个系统(为什么说优雅呢,关注后续文章了解),其中更有一种大部分人都没用过的关闭tomcat的方式(具体是shutdown.bat里边shell脚本所用的方式),笔者有一篇随笔来记录 怎么通过这种关闭方式来搞坏跟你一个局域网同学们的心态
  • Service一个服务器组件,可以理解为要对外提供的服务是谁,后面的Connector, Engine,Host组件,都是作用于Service的内部,共同组成了可对外提供服务的对象;
  • Connector是连接器,主要用于接收外部请求(tomcat中的实现也是通过Serversocket),可以配置通道的编码类型,超时时间,IO类型等;具体功能也可以粗略的理解为: connector接受到socket后,通过HttpProcessor类进行些相应处理,比如封装request和response对象等,然后交给Engine处理;Connector包含我们常听说的HTTP,HTTPS和AJP,这个AJP就是Apache反向代理的时候用到的特定协议。
  • Engine和Host Engine的内部包含Host用于处理实际的请求。我们用Tomcat时经常会写http://localhost:8080 这个,就指向了默认提供的localhost这个Host。当然Host也可以写多个,可以写多个才对应不同的url,不过你需要拥有多个域名(一个公网ip可以绑定无数个域名),本机测试如果你想测试多个host的话,需要更改windows下的host映射;
  • Realm,主要用于进行一些安全配置
    以上即是Server.xml中的主要配置和作用