Web Cache — JESI 标记

日期:2003 年 9 月 12 日

如何使用 JESI 控制/包含模式来缓存动态内容

完成此方法文档后,您应该能够:
  • 了解 JESI 控制/包含模式缓存动态内容的方式
  • 使用 <jesi:control>、<jesi:include>、<jesi:param> 标记

引言

Oracle JESI 标记库提供了到 ESI 标记的方便的接口,并为 Web 高速缓存提供了 Edge Sides Include 功能。它提供了两种模式来缓存动态内容。

  • 控制/包含模式
  • 模板/碎片模式

此方法文档说明了控制/包含模式。在控制/包含模式下,将可缓存的内容集合在一起,作为顶层页面中的被包含页面。控制/包含模式的使用如下:

  • 使用 <jesi:control> 标记来缓存顶层页面
  • 使用 <jesi:include> 标记从顶层页面中将内容集合在一起。
  • 在集合内容时,顶层页面和被包含的页面当作单独的文档。因此,可以 使用 <jesi:control> 标记来单独缓存所包含的页面。

此示例描述了员工信息系统。它接收员工编号并显示给定员工的员工信息。在为给定的员工生成动态内容之后,将从高速缓存器中缓存和提供该内容,直到它变为无效。下表列出了在该示例中使用的 web 页面,并说明了控制/包含模式。

jesiinclude.html 查询页面,该页面接收员工编号来获取该员工的详细信息。来自该页面的提交请求被发送给 empdetails.jsp
empdetails.jsp

该页面是顶层页面,显示员工信息。 一旦生成了特定员工的内容,就可以缓存该动态页面。<jesi:control> 标记用于缓存该文档。expiration 值指定缓存的文档可以在缓存中保留多长时间。maxRemovalDelay 指定缓存的内容过期之后可在多长时间内一直提供它。

<jesi:control cache="yes" expiration="60" maxRemovalDelay="60"/>

在缓存该页面时,将把 URL 和发送请求结合起来(例如 http://xyz.com/jesiinclude/empdetails.jsp POST;;;empno=7369;;£©用作该文档的缓存键。对于任何其它的员工,假定员工编号等于 7566,则该内容将被再次生成并缓存。

使用 <jesi:include> 标记从顶层页面包含集合页面。使用 <jesi:param> 标记将 JSP 参数值传递给集合页面。

<jesi:include page="empinfo.jsp">
<jesi:param name="empno" value="<%=empno%>"/>
</jesi:include>

empinfo.jsp 该页面是集合页面。从 empdetails.jsp 顶层页面中包含它。这些集合页面被当作单独的文档。在该页面中使用 <jesi:control> 标记来缓存该文档。

运行示例的前提条件

您需要以下条件才能运行此示例 -

  • Oracle Application Server (9.0.3 或更高)。可以从此处
    下载。
  • Oracle JDeveloper (9.0.3 或更高版本)。可以从此处下载。 这是可选的,并且仅当您希望从 JDeveloper 中进行部署时才需要。

部署示例

此示例的完整源代码可以在此获得。这一节讨论运行示例程序的相关指导

第 1 步 使用 Winzip,或使用下面的命令解压缩 jesiinclude.jar

> jar xvf jesiinclude.jar

这创建一个目录 jesiinclude。

第 2 步

如果您使用的是 JDeveloper,那么按照下面的步骤做

  • 打开 Oracle9i JDeveloper,使用 File/Open 选项来从 jesiinclude ÖÐ选择 jesiinclude.jws
  • 接下来,从主菜单中选择 Project/Make jesiinclude.jpr
  • 创建应用服务器连接
    • 转至Connections -> Application Server Connection。单击右键,然后单击 New connection。
    • 在第一步中,输入连接名称并选择 Oracle9i Application Server
    • 在第二步中,输入用户名和口令
    • 在第三步中,输入 Enterprise Manager 的主机名、端口号和远程 Oracle AS 主目录(仅当在远程计算机上进行部署时才需要)。
    • 在第四步中,单击Next,然后测试该连接。单击 Finish 按钮。
  • 现在,单击右键 jesiinclude.deploy,然后为 Deploy 选择 <connection name> — 您在之前的步骤中创建的应用服务器连接。
第 3 步 按照以下步骤利用 EM 来部署应用程序。
  • 转至 EM web 站点 -> 默认的 oc4j 主页。
  • 选择部署 EAR 文件
  • 输入 J2EE 应用程序名称,单击 Browse 按钮,并从 <SAMPLE_HOME>/deploy/jesiinclude.ear 选择jesiinclude.ear
  • 输入应用程序名称为 jesiinclude,单击 Next
  • 输入 URL 映射为 /jesiinclude,然后单击 Finish
  • 单击 Deploy 来部署应用程序。

运行示例

在浏览器中使用下面的 URL 来访问页面

http://<host_name>:<port>/jesiinclude/jesiinclude.html

其中,<host_name> 是安装了 Web Cache 的计算机,<port> 是 Web Cache 监听器运行的端口。

例如,http://incq185b.idc.oracle.com:7777/jesiinclude/jesiinclude.html

资源


请在 OTN 示例代码论坛中发表您对此示例的意见

寄送此页面
Printer View 打印机视图