Tomcat学习—Tomcat的server.xml配置文件

今天开始学习Tomcat的配置文件,自己学习和上网查看整理server.xml 的笔记!

大家好,又见面了,我是全栈君。

今天开始学习Tomcat的配置文件,自己学习和上网查看整理server.xml 的笔记!

Tomcat服务器由一系列可配置组件构成,其中核心组件是Catalina Servlet容器,它是其他所有Tomcat组件的顶层容器。

server.xml的文件结构如下:

<Server>…………………………..Server层

<Service>……………………….Service层

<Connector/>

<Engine>……………………..Engine层

<Host>…………………….Host层

        <Context/>……………Context层

</Host>

</Engine>

</Service>

<Server>

Server层


对应Server组件,表示整个Tomcat(Catalina Servlet容器),它处于Tomcat顶层,可以包含一个或多个Service层。

Service层


对应Service组件,是Server层中的一个逻辑功能层,包含一个Engine层,以及一个或多个Connector,Service组件将一个或多个Connector组件

绑定到Engine层上,Connector组件侦听端口,获得用户请求,并将请求转发到Engine层处理,同时把处理结果转发给用户,从而实现一个特定的功能。

Engine层

    对应Engine组件,负责请求分发处理,可以连接多个Connector,它从Connector接收请求后,解析出可以完成用户请求的URL,

根据URL可以把请求匹配到正确的Host上,当Host处理完用户请求后,Engine层把结果返回给适合连接器,再由连接器传输给用户。

Host层

    对应Host组件,表示一个虚拟主机,一个Engine层可以包含多个Host层,每个Host层可以包含一个或多个Context层,对应不同的web应用。

Context层

    对应Context组件,代表某个虚拟主机上的实际目录或一个WAR,即单个Web应用程序,它运行在特定的虚拟主机中,使用最为频繁。

一个Host层包含多个Context层,每一个Context都有唯一的路径,Host层接到请求后,根据用户请求的URL,将请求定位到Context层。


    server: 
          1、port 指定一个端口,这个端口负责监听关闭tomcat的请求 
          2、shutdown 指定向端口发送的命令字符串 
    service: 
          1、name 指定service的名字 
    Connector (表示客户端和service之间的连接):
          1、port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求 
          2、minProcessors 服务器启动时创建的处理请求的线程数 
          3、maxProcessors 最大可以创建的处理请求的线程数 
          4、enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查
询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip
地址 
          5、redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的
端口号 
          6、acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理
队列中的请求数,超过这个数的请求将不予处理 
          7、connectionTimeout 指定超时的时间数(以毫秒为单位) 
    Engine (表示指定service中的请求处理机,接收和处理来自Connector的请求):
          1、defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name
属性值是一样的 
    Context (表示一个web应用程序):
          1、docBase 应用程序的路径或者是WAR文件存放的路径 
          2、path 表示此web应用程序的url的前缀,这样请求的url为
http://localhost:8080/path/**** 
          3、reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的
/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可
以在不重起tomcat的情况下改变应用程序 
    host (表示一个虚拟主机):
          1、name 指定主机名 
          2、appBase 应用程序基本目录,即存放应用程序的目录 
          3、unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接
从WAR文件中运行应用程序 
    Logger (表示日志,调试和错误信息):
          1、className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口 
          2、prefix 指定log文件的前缀 
          3、suffix 指定log文件的后缀 
          4、timestamp 如果为true,则log文件名中要加入时间,如下
例:localhost_log.2001-10-04.txt 
   Realm (表示存放用户名,密码及role的数据库):
          1、className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口 
 2、resourceName 指定Realm可编辑的用户数据库
   Valve (功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样):
          1、className 指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve
类可以记录应用程序的访问信息 
 2、directory(指定log文件存放的位置):
 3、pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行
请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记
录的值更多


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121275.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月24日 下午3:00
下一篇 2022年2月24日 下午3:00


相关推荐

  • 【解决方法】phpize 编译安装 php 扩展时出现Cannot find autoconf「建议收藏」

    【解决方法】phpize 编译安装 php 扩展时出现Cannot find autoconf「建议收藏」背景已知,编译安装php扩展的时候,需要先执行phpize来生成configure文件。但是,最近在安装扩展的时候出现了如下错误:$/path/to/php/php5.6.40/bin/phpizeConfiguringfor:PHPApiVersion:20131106ZendModuleApiNo:20131226ZendExtensionApiNo:220131226Cannotfindautoconf.Ple

    2022年6月1日
    36
  • sharePreference的几个重点

    sharePreference的几个重点

    2022年3月3日
    101
  • PyCharm基本设置 – 【图文】

    PyCharm基本设置 – 【图文】PyCharm 基本设置主要从三个方面讲解 第一个是 PyCharm 界面的外观设置 第二个是关于 Python 解释器的设置 第三个是项目管理功能的项目设置 设置的总查找路径 File Settings DefaultSetti 具体步骤 在 PyCharm 界面的头部的导航栏上找到 File 点击 File 点击 Settings 一 PyCharm 界面的外观设置 1 1 修改主题具体步骤 Appearance amp Behavior

    2026年3月27日
    3
  • 2021好玩的微信小程序_如何制作微信小程序

    2021好玩的微信小程序_如何制作微信小程序一、前期准备工作1、注册微信小程序开发者账号在官网注册页选择小程序注册即可,账号分为个人版和企业版:个人版相对于企业版注册流程更为简单和宽松。企业版注册需要支付认证费用,一般为300元,个人版不需要,企业版经过微信官方认证,更具有信誉度。个人版更多只是一个展示的平台,企业版可以作为一个完整的平台,个人版不可以做商业性质的小程序,但是企业版可以,个人版不可以开通微信支付。附近的小程序不显示个人版,只能通过搜索,扫码方式找到。个人版不支持快速获取微信用户的手机号。2、下载微信开发者工具微信平

    2026年4月19日
    3
  • 其实就是为了能有字幕特效,用MeGUI + AVS压制PSP MP4AVC视频02 – 安装准备篇

    其实就是为了能有字幕特效,用MeGUI + AVS压制PSP MP4AVC视频02 – 安装准备篇简要流程:1、装.netframework2.0,装好了推荐重启下。2、安装MeGUI,安装界面神奇的是中文,我想不会有人有问题吧。3、启动MeGUI。第一次运行会自动搜索编码器升级。可以看到除了主程序都是在这里下载的,泪。点击Update,慢慢等吧。在升级过程中会提示你导入需要的配置方案,其中我们只需要PSP相关的…

    2022年10月16日
    4
  • 求生之路2机枪mod_求生之路2好看的枪械mod名字

    求生之路2机枪mod_求生之路2好看的枪械mod名字动态子弹(弹匣)数量修改工具:GCFScape、notepad++、vpk.exe自己在搜索引擎输入文件名找资源教程:教程均假设修改smg的静态子弹和动态子弹,其他枪械修改一样,只不过修改对象不同。1.先找出武器原始的数据文件(1).打开GCFScape,左上角File-open。找到“\Steam\SteamApps\common\Left4Dead2\left4dead…

    2025年6月29日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号