Tomcat配置文件Server.xml作用介绍

简介:    Tomcat是以面向对象的方式运作的;在执行期间,它会基于配置文件的设定动态地组建其对象结构。      这有点像Apache httpd的“模块”,只是相对而言更复杂些。

   Tomcat是以面向对象的方式运作的;在执行期间,它会基于配置文件的设定动态地组建其对象结构。

 

   这有点像Apache httpd的“模块”,只是相对而言更复杂些。同时,这也类似于Unix的管道与过滤器。

 

   Server.xml文件中的每个主要元素都会创建软件“对象”、排序及进程管道中设置的这些元素嵌套方,让您能执行过滤、分组等工作。

 

   示例:Tomcat 6.0的简单server.xml文件

 

  

  
  
  

     
                     type="org.apache.catalina.UserDatabase"
            description="User database that can be updated and saved"
            factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
            pathname="conf/tomcat-users.xml"/>

     
     

                     maxThreads="150" connectionTimeout="20000"
            redirectPort="8443"/>

        

                     unpakWARs="ture" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

        
        
     
  


   这是最简单的server.xml文件,但仍然能以兼容于存储的Tomcat server.xml文件的方式,服务于appBase目录(默认webapps/)下的所有Web应用程序而著称。

 

   但是,请记住,不推荐用类似于上面的简化的(stripped-down)server.xml文件运行Tomcat。笔者已经见过许多tomcat用户用最简单的server.xml运行Tomcat,最终导致其内容非常模糊,以至难以诊断问题的根源。

 

   笔者建议,只按web应用程序所需的方式修改已存储的server.xml文件,并按您需要的方式运行。建议这样处理的原因有以下几点。

 

   1、在您第一次决定要在server.xml文件中保留哪些内容时,Web应用程序会间接取决于您认为不需要的一些server.xml配置元素或特殊属性。

 

   在启动Tomcat并部署Web应用程序时,本应该都工作正常,但系统启动失败,并提供了一些日志信息,显示Tomcat故障或Web应用程序故障。在大部分时间里,正常工作的必要配置信息都已存储在server.xml文件中。

 

   2、在升级Tomcat的时候,无论是否是基于同一分支升级到一个新的版本,都可以更改元素的属性和值。如果形成最小的server.xml文件,则无法区分您的server.xml与新版本的server.xml之间的差别。

 

   即使是细微的变化也能导致Tomcat行为的很大差异。另外,偶尔修补一个bug,也需要同时修改Tomcat的代码与server.xml中的细微配置。

 

   如果升级并取得了新的JAR文件但没有对server.xml进行相应的修改,则bug仍然存在,但只存在于您的安装中。当您在邮件清单或IRC中咨询该bug的时候,人们将告诉您,他们不能重现您的问题,而这是因为他们使用了已存储的server.xml。

 

   3、在初始化设置Tomcat并最小化server.xml文件很长一段时间之后,您或者其他人重现了这一结果并做了一些修改。您已经忘记了该配置是如何工作的,或者首先是因为从来就不知道,但您需要知道对Web应用程序进行了哪些特殊配置。

 

   您无法简单地区分存储的server.xml,因为太难与您的server.xml文件区分开。可以用点时间阅读一下有关server.xml文件的所有信息,以理解定制的配置要完成什么,但耗时处理这一事情大概不是什么明智之举。

 

   相反,您可以采用注解已存储的server.xml文件,而且就使修改后的配置等同于最小配置的功能。

 

   然后,就可以区分存储的(未修改的)server.xml文件与您刚修改的文件有何差别。为什么不在最初的时候进行这样的处理呢?

 

   记住这一点,存储的server.xml文件包含了很多XML注释,主要是未经启用的描述及示例配置元素。

 

   这些内容无疑将是很方便的。有许多元素已被提前配置好并取消了注释,这些元素都是很常用的元素。

 

   在文件中保留这些元素以便简化取消注释与使用的过程,这一方法已经帮助了很多Tomcat用户,但也使很多用户苦恼,因为他们认为server.xml用注释搅乱了所需要的元素。

 

   确实如此,但因为笔者前面陈述的原因,还是要坚持这一劝告,生成并使用最小化的server.xml文件。

目录
相关文章
|
2月前
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
123 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
2天前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
4月前
|
安全 Java 应用服务中间件
Tomcat的配置文件中有哪些关键的配置项,它们分别有什么作用?
日常开发中我们除了 web.xml 文件的配置,server.xml 文件也是 Tomcat 服务器的重要配置文件,本文内容详细介绍各个配置项的用法,结合业务场景来举例说明,让你更清楚各配置项的用法
169 1
|
2月前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
1610 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
2月前
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
109 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
2月前
|
XML 存储 JSON
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
34 0
|
2月前
|
安全 内存技术
【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传
【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传
|
4月前
|
应用服务中间件 Linux iOS开发
使用 setenv 配置文件管理 Tomcat 的自定义环境变量
【8月更文挑战第29天】通过在Tomcat安装目录的`bin`文件夹下创建`setenv.sh`或`setenv.bat`文件,可以轻松管理Tomcat的自定义环境变量。针对Linux/macOS系统,需编辑`setenv.sh`文件,如`export MY_CUSTOM_VAR="my custom value"`;而在Windows系统中,则编辑`setenv.bat`,如`set MY_CUSTOM_VAR=my custom value`。
277 1
|
5月前
|
XML 分布式计算 资源调度
Hadoop配置文件mapred-site.xml
【7月更文挑战第18天】
435 7
|
5月前
|
存储 机器学习/深度学习 分布式计算
Hadoop配置文件hdfs-site.xml
【7月更文挑战第17天】
382 5