Tomcat的catalina.properties配置作用

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

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.

请参见 :

https://tomcat.apache.org/tomcat-7.0-doc/security-manager-howto.html

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

类加载设置

请参见:https://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)${catalina.base}/lib

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

(3)${catalina.home}/lib

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

${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

同时需要在tomcat目录下创建 server和shared目录结构并将公用的、应用类放到里面。类加载顺序如下:

Bootstrap ---> System ---> /WEB-INF/classes ---> /WEB-INF/lib/*.jar ---> Common ---> 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

默认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.

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

人永远是要学习的。死的时候,才是毕业的时候。 —— 萧楚女
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号