zoukankan      html  css  js  c++  java
  • Tomcat 7下如何利用 catalina.properties 部署公用类

    Tomcat 有很多配置文件,其中一个是  catalina.properties ,本文介绍catalina.properties 中的设置项。

    一、组成

     

    catalina.properties中的设置项包括四个部分:

    #第一部分:安全设置

    package.access

    package.definition

    #第二部分:类加载设置

    common.loader

    server.loader

    shared.loader

    #第三部分:不需要扫描的类设置

    tomcat.util.scan.DefaultJarScanner.jarsToSkip

    org.apache.catalina.startup.ContextConfig.jarsToSkip

    org.apache.catalina.startup.TldConfig.jarsToSkip

    #第四部分:字符缓存设置

    tomcat.util.buf.StringCache.byte.enabled
    tomcat.util.buf.StringCache.char.enabled
    tomcat.util.buf.StringCache.trainThreshold
    tomcat.util.buf.StringCache.cacheSize

    二、安全设置

    请参见 :

    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包括以下路径:

    • unpacked classes and resources in $CATALINA_BASE/lib
    • JAR files in $CATALINA_BASE/lib
    • unpacked classes and resources in $CATALINA_HOME/lib
    • JAR files in $CATALINA_HOME/lib

    和默认的一些jar包:

    • annotations-api.jar — JavaEE annotations classes.
    • catalina.jar — Implementation of the Catalina servlet container portion of Tomcat.
    • catalina-ant.jar — Tomcat Catalina Ant tasks.
    • catalina-ha.jar — High availability package.
    • catalina-tribes.jar — Group communication package.
    • ecj-*.jar — Eclipse JDT Java compiler.
    • el-api.jar — EL 2.2 API.
    • jasper.jar — Tomcat Jasper JSP Compiler and Runtime.
    • jasper-el.jar — Tomcat Jasper EL implementation.
    • jsp-api.jar — JSP 2.2 API.
    • servlet-api.jar — Servlet 3.0 API.
    • tomcat-api.jar — Several interfaces defined by Tomcat.
    • tomcat-coyote.jar — Tomcat connectors and utility classes.
    • tomcat-dbcp.jar — Database connection pool implementation based on package-renamed copy of Apache Commons Pool and Apache Commons DBCP.
    • tomcat-i18n-**.jar — Optional JARs containing resource bundles for other languages. As default bundles are also included in each individual JAR, they can be safely removed if no internationalization of messages is needed.
    • tomcat-jdbc.jar — An alternative database connection pool implementation, known as Tomcat JDBC pool. See documentation for more details.
    • tomcat-util.jar — Common classes used by various components of Apache Tomcat.

    这些都是系统和工具类,比如数据库的驱动类库、log 类库可以放到此处,web应用的jar 不要放到common.loader 中。

    3、server.loader 和 shared.loader

    在common.loader 加载完后,tomcat启动程序会检查 catalina.properties文件中配置的server.loader和shared.loader是否设置

    如果设置,读取 tomcat下对应的server和shared这两个目录的类库。

    server和shared是对应tomcat目录下的两个目录,默认的Tomcat7 下这两个目录是没有的。

    设置方法:

    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已经设置。

    五、字符缓存设置

    根据需要设置字符的缓存策略。

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

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

     

  • 相关阅读:
    C#listbox使用方法
    poj 3894 System Engineer (二分图最大匹配--匈牙利算法)
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 黑白无常
  • 原文地址:https://www.cnblogs.com/ThinkVenus/p/8047658.html
Copyright © 2011-2022 走看看