• Tomcat catalina.properties配置文件详解


    Tomcat的catalina.properties文件位于%CATALINA_HOME%/conf/目录下面,该文件主要配置tomcat的安全设置、类加载设置、不需要扫描的类设置、字符缓存设置四大块。

    安全设置

    下面是catalina.properties文件中关于安全的设置,如下:

    package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
    package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
    
    • 1
    • 2

    http://tomcat.apache.org/tomcat-7.0-doc/security-manager-howto.html请参见 :

    http://www.oracle.com/technetwork/java/seccodeguide-139067.html

    类加载设置

    请参见:http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html

    1、classloader加载顺序

    Bootstrap —> System —> /WEB-INF/classes —> /WEB-INF/lib/*.jar —> Common

    注意:Common的配置是通过 catalina.properties中的common.loader设置的。

    2、common.loader设置

    通常情况下,common.loader是已经设置好的,不需要修改。如下:

    common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
    
    • 1

    (1)${catalina.base}/lib主要在下面这些路径中加载:

    (2)${catalina.base}/lib/*.jar

    (3)${catalina.home}/lib

    (4)${catalina.home}/lib/*.jar

    c a t a l i n a . b a s e 和 {catalina.base}和 catalina.base{catalina.home}的区别请点击查看

    3、server.loader 和 shared.loader

    在common.loader 加载完后,tomcat启动程序会检查 catalina.properties文件中配置的server.loader和shared.loader是否设置。如果设置,读取 tomcat下对应的server和shared这两个目录的类库。server和shared是对应tomcat目录下的两个目录,在Tomcat7中默认这两个目录是没有的。设置方法如下(这是一个Demo):

    server.loader=${catalina.base}/server/classes,${catalina.base}/server/lib/*.jar
    shared.loader=${catalina.base}/server/classes,${catalina.base}/server/lib/*.jar
    
    • 1
    • 2

    Bootstrap —> System —> /WEB-INF/classes —> /WEB-INF/lib/*.jar —> Common —> Server —> Shared同时需要在tomcat目录下创建 server和shared目录结构并将公用的、应用类放到里面。类加载顺序如下:

    字符缓存设置

    根据需要设置字符的缓存策略。下面是tomcat的默认配置,如下:

    # String cache configuration.
    tomcat.util.buf.StringCache.byte.enabled=true
    #tomcat.util.buf.StringCache.char.enabled=true
    #tomcat.util.buf.StringCache.trainThreshold=500000
    # 设置缓存大小
    #tomcat.util.buf.StringCache.cacheSize=5000
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    默认tomcat将tomcat.util.buf.StringCache.byte.enabled=true开启,其他的被注释了。

    小结

    Tomcat可以通过catalina.properties的server和shared设置,为webapp提供公用类库。使一些公用的、不需要与webapp放在一起的设置信息单独保存,在更新webapp的war的时候无需更改webapp的设置。

    Tomcat 遵循的规范如下:

    EL 2.2 API.

    JSP 2.2 API.

    Servlet 3.0 API.

    很多的配置文件的规则都在这几个规范中定义。

  • 相关阅读:
    Codeforces Round 909 (Div. 3) 题解 A-E
    一、MySQL.pratice.search
    Android 项目增加 res配置
    Qt使用QAudioInput、QAudioOutput实现局域网的音频通话
    治疗 | 如何识别和处理消极想法
    机试(cs,se)
    【技术积累】Java中的JVM【一】
    自己在家给电脑重装系统Win10教程
    Mac 上如何安装Mysql? 如何配置 Mysql?以及如何开启并使用MySQL
    linux静态库与动态库
  • 原文地址:https://blog.csdn.net/m0_67392182/article/details/126516730