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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jBox属性_canvas的属性

    jBox属性_canvas的属性<scriptsrc=”https://code.jquery.com/jquery-3.3.1.min.js”></script><scriptsrc=”https://cdn.jsdelivr.net/gh/StephanWagner/jBox@v0.4.9/Source/jBox.min.js”></script><linkh…

    2025年5月22日
    2
  • 1.两数之和_两个数的和怎么算

    1.两数之和_两个数的和怎么算1.两数之和

    2022年4月20日
    65
  • Python进制转换与ASCII转换

    Python进制转换与ASCII转换本文结合实际应用和刷Leetcode总结了Python的一些常用的方法一、字符串二、列表三、字典其他input()用于获取用户的输入值,返回一个字符串类型例:msg=input(‘请输入值’)…

    2022年5月19日
    43
  • HTML网页设计制作大作业(div+css)[通俗易懂]

    HTML网页设计制作大作业(div+css)[通俗易懂]话不多说,直接上效果图:历史介绍行政区划:地理环境著名景点:美食小吃工艺品联系我们部分项目结构老师要求的十几个页面20几张图片以及一些跳转,使用div+css布局也基本上都有了。然后代码也有注释。也能够容易看得懂部分代码偷个懒,就用notepad打开。不用H-build打开了。哈哈哈另外有同学要是需要源码的话可以联系我呀。大家加油!奥利给!……………

    2022年8月13日
    5
  • CSS rgb颜色产生原理 & 颜色对照表

    CSS rgb颜色产生原理 & 颜色对照表本文转自:http://www.cnblogs.com/iteakey/articles/3016093.htmlHTMLCSS颜色对照表FFFFFF#DDDDDD#AAAAAA#888888#666666#444444#000000#FFB7DD#FF88C2#FF44AA#FF0088#C10066#A2

    2022年5月13日
    111
  • 视频识别车牌号(Python)

    视频识别车牌号(Python)提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 使用步骤 总结一、前言视频识别车牌号(有视频和代码)二、使用步骤直接上代码#导入所需要的库fromhyperlprimport*importcv2importnumpyasnp#定义保存图片函数#image:要保存的图片名字#addr;图片地址与相片名字的前部分#num:相片,名字的后缀。int类型defsave_image(i..

    2022年5月20日
    85

发表回复

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

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