教程:了解 JSP 2.0 的新特性
讨论此教程。 可打印版本 (PDF)。
转至目录页。 转至上一页。 到上一级。 转至下一页。

 

 

TLD 高速缓存特性和文件


对于使用 TLD 高速缓存的任意应用程序,无论它是在全局级还是在应用程序级启用的,都存在两种级别的高速缓存,并且在每个级别上有两方面的高速缓存。让我们详细了解一下这些高速缓存级别:

高速缓存级别
各个高速缓存级别上的高速缓存方面
重要说明

高速缓存级别

  • 在任意众所周知的标记库位置中均有一个用于 TLD 文件(位于 JAR 文件中)的全局高速缓存。

  • 在应用程序 /WEB-INF 目录下有一个用于 TLD 文件的应用程序级高速缓存。

    在应用程序级,包含 TLD 文件的 JAR 文件必须位于 /WEB-INF/lib 目录中。单独的 TLD 文件可以直接放在 /WEB-INF 或在任意子目录中,但最好不要放在 /WEB-INF/lib/WEB-INF/classes 中。

    各个高速缓存级别上的高速缓存方面

    • 存在一个包含了相对位置 — 对于全局缓存,是指众所周知的位置;对于应用程序级高速缓存,是指 /WEB-INF 或 /WEB-INF/lib — 的资源信息的文件。由于这个特性,不需多次扫描 JAR 文件。该文件包含两种类型的项目:

      • 存在一个所有资源(标记库 JAR 文件)的列表,该列表包含每个资源的一个时间戳记,以便可以检·测到资源的任意更改。还有一个指示器(“true”或“false”),指示各个资源是否包含 TLD 文件。

      • 存在一个 TLD 文件的列表,其中每个项目包含一个 TLD 名称、TLD URI 值(如果有的话)和标记库监听器(如果有的话)。(请参见“标记库事件监听器”。)
    • 存在各个 TLD 文件的一个序列化的 DOM 表示。由于这个特性,不需多次解析 TLD 文件。
    全局高速缓存

    全局高速缓存始终位于一个名为 tldcache 的目录中,与配置目录平行。tldcache 目录包含以下内容:

  • 存在一个文件 _GlobalTldCache,它包含了任意众所周知位置的资源信息(如上所述)。
  • 存在位于众所周知位置中的 TLD 文件的 DOM 表示。对于一个众所周知位置中的各个 TLD 文件(位于一个 JAR 文件中),DOM 表示位于一个与 JAR 文件的名称相对应的子目录中,并且文件名对应 TLD 文件的名称。例如,如果在一个众所周知位置中的 ojsputil.jar 中找到了 email.tld,那么它的 DOM 表示将在以下文件中(文件名为 email,位于目录 ojsputil_jar 中):

    ORACLE_HOME/j2ee/home/jsp/lib/taglib/persistence/ojsputil_jar/email

    这针对 Oracle 应用服务器环境,其中 ORACLE_HOME 已定义。在 OC4J 独立版中,j2ee 目录与安装 OC4J 的位置相关。

    应用程序级高速缓存

    应用程序级高速缓存位于由 global-web-application.xmlorion-web.xml 中的 jsp-cache-directory 设置指示的目录中。(有关 jsp-cache-directory 的信息,请参见“JSP 的 OC4J 配置参数”。)该目录包含以下内容:

    =>存在一个文件 _TldCache,它包含 /WEB-INF 目录下的 TLD 文件 — 要么在 /WEB-INF/lib 下的 JAR 文件中,或者分别位于 /WEB-INF 或任意子目录中(但最好不要在 /WEB-INF/lib 或 /WEB-INF/classes 中) — 的资源信息。

    =>存在 /WEB-INF 下的 TLD 文件的 DOM 表示。对于 /WEB-INF/lib 目录下的 JAR 文件中的 TLD 文件,DOM 表示位于由 jsp-cache-directory 指示的目录下的子目录中(与全局高速缓存所述的模式类型相同)。对于 /WEB-INF 下的各个 TLD 文件,DOM 表示直接存放在 jsp-cache-directory 位置中。

    重要说明

  • 只有在 OC4J 重新启动之后,才能反映全局级的 TLD 修改。

  • 在 OC4J 独立版环境中,应用程序级的 TLD 修改将立即反映出来,但在应用服务器环境中只有在应用程序重新启动之后才能反映出来。

  • 您可以提高 OC4J 冗长级别,以查看有关构建 TLD 高速缓存和有关重复的 TLD URL 的信息。级别 4 提供一些信息;级别 5 提供额外的信息。您可以使用 Oracle Enterprise Manager 来设置冗长级别。默认级别是 3


    讨论此教程。 可打印版本 (PDF)。
    转至目录页。 转至上一页。 到上一级。 转至下一页。
  • 寄送此页面
    Printer View 打印机视图