快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

澳门威泥斯人_酒文化网进入



开始之前

关于本教程

经由过程本教程,您可以懂得若何应用 WAS 的动态高速缓存办事缓存 Servlet 工具,JSP 页面,WebSphere Command 工具;若何在 cachespec.xml 文件中进行设置设置设备摆设摆设或者编写独一标识的天生类实现根据营业必要缓存同一个工具的不合版本。本教程也涉及直接操作动态缓存和应用 Cache Monitor 监控和治理动态高速缓存。

目标

完资源教程后,您应该懂得若何:

设置设置设备摆设摆设 cachespec.xml 缓存 Servlet 或 JSP 页面

在 cachespec.xml 中设置设置设备摆设摆设缓存规则缓存同一个 Servlet 工具或 JSP 页面的不合版本

编写 WebSphere Command 工具

编写天生缓存独一标识的 Java Class

直接操作动态高速缓存

安装并应用 Cache Monitor

先决前提

要成功应用本教程,您应认识 Java 开拓的一样平常常识,分外是具备办事器端 Java 开拓的根基。您应懂得 WAS 和 Rational® Application Developer for WebSphere® Software (下面简称 RAD) 的一样平常观点,并认识支配描述符和 WAR 存档等基础的 J2EE 观点,对 WAS 的设置设置设备摆设摆设和治理有所懂得。

系统要求

您必要下载下列必需的(免费)利用法度榜样,才能应用本教程及此中的示例代码:

IBM™ Rational® Application Developer for WebSphere® Software

IBM™ WebSphere® Application Server 6.1 或者以上版本

假如读者无法得到 RAD 和 WAS 的正式版本,可以斟酌下载和应用 RAD 的试用版 和 WebSphere® Application Server for Developers。假如读者不想下载 RAD 的试用版,作者也供给了可供直接编译的源代码包 DynaCacheTutorial.zip,下载并将其解压缩到某个目录,改动 was.properties 文件中 was.app.dir 的值为的 WAS 的目录,然后运行“ant war”进行编译。应用这种措施用户可以用您所爱好的编辑器直接改动响应的代码并进行编译安装。

硬件设置设置设备摆设摆设应包括:支持上面列出的软件,并且至少具有 2GB 内存(保举为 3GB)。本教程中的阐明基于 Microsoft® Windows® 操作系统,但也适用于 Linux® 和 UNIX® 操作系统。

小序

WAS 动态高速缓存概述

高速动态缓存做为 WAS 的一个扩展办事从 5.0.2 开始就被包孕在从 WAS Express 开始的各个版本。该办事可以缓存 WebSphere Command 工具、Servlet 和 JavaServer Pages(JSP)的输出,从而显着提升利用法度榜样机能。动态高速缓存办事位于利用法度榜样办事器 Java 虚拟机(JVM)内部,经由过程拦截对可高速缓存工具的调用隐式的实现了对缓存的调用,法度榜样员以请安识不到它的存在。图 1 展示了缓存射中和不射中的两种环境下系统的流程,假如缓存射中将避免履行后面繁杂的商业逻辑,营业逻辑的履行光阴大年夜大年夜缩短了。

图 1. 缓存射中和掉败

在 WAS 中开启 Servlet cache

默认环境下 WAS 是开启动态高速缓存办事的,用户可以按照以下的步骤反省该办事是否开启并开启 Servlet 缓存

登录 WAS 的治理节制台,如 http://localhost:9060/ibm/console

输入治理员的用户名和密码

单击 Servers > WebSphere application servers > server1,在 Configuration 选项卡下面选择 Container Services > Dynamic cache service,如 图 2

确保在 图 3“Enable service at server startup”当选中(在 WAS 7 则没有这个选项,用户是不能够关闭动态高速缓存办事的)

图 2. 打开动态高速缓存办事

图 3. 确认动态高速缓存已被开启

然后确认 Servlet 的缓存被开启了,默认环境下 WAS 是不开启该选项的,依照如下的步骤启动该功能

单击 Servers > WebSphere application servers > server1,在 Configuration 选项卡下面选择 Web Container Settings > Web container

在 图 4 选中“Enable Servlet caching”,然后选择“OK”按钮

在接下来的界面选择“Save”连接,保存改动

图 4. 开启 Servlet 缓存

在本文中我们会创建一个简单的 Web 利用,对显示的光阴进行缓存。该例子会有 Servlet,JSP,WebSphere Command 等多个版本

创建 WEB 工程

按照以下步骤创建一个 WEB 工程

启动 Rational Application Developer for WebSphere

创建一个 Dynamic Web Project,以 DynaCacheTutorial 为工程的名字,将 Dynamic Web Module version 选择为 2.4,这样编译的 WAR 就可以在 WAS 6.1 澳门威泥斯人中支配了

同时创建一个名为 DynaCacheTutorialEAR 的 EAR 工程,将 EAR version 设为 1.4,同样这样确保可以支配到 WAS 6.1 上面

将 DynaCacheTutorial 加到 DynaCacheTutorialEAR 工程中去

将 DynaCacheTutorialEAR 支配到 WAS 上确保运行没有差错

缓存 Servlet

通俗的 Servlet

在本节开始曩昔请确保您按照 在 WAS 中开启 Servlet cache 一节的措施启用了 Servlet 缓存。下面从一个简单的 Servlet 例子开始先容若何应用动态高速缓存,依照下澳门威泥斯人面的的步骤创建一个 Servlet。

选择 File > Other > Web > servlet

在接下来的界面 Java package 填为 demo,Class name 填为 UnCachedServlet,选 Next 进入下一个界面

在接下来的界面吸收缺省的设置(Name:UnCachedServlet,URL Mappings:/UnCachedServlet),选 Next 进入下一个界面

在接下来的界面中取消 doPost() 选中,选 Finish 停止设置

将 doGet() 措施调换如 清单 1 所示

清单 1. 不被缓存的 Servlet - UnCachedServlet.java

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setC澳门威泥斯人ontentType("text/html");

PrintWriter out = response.getWriter();

out.println("");

out.println("");

out.println(" A Servlet");

out.println(" ");

out.println("  The Current time is " + new java.util.Date() + "

");

out.println(" ");

out.println("");

out.flush();

out.close();

}

清单 1 是一个异常简单的在页面上显示当前光阴的 Servlet,在 WAS 支配成功今后,在浏览器的地址栏中输入如下的地址 http://localhost:9080/DynaCacheTutorial/UnCachedServlet,输出可能如 图 5(当然您获得的是当前的光阴)

图 5. 未被缓存的 Servlet 的输出

每当您刷新这个页面的时刻,输出的光阴应该如预期的老是返回当前光阴。

被缓存的 Servlet

接着创建另一个 Servlet(demo.CachedServlet,Servlet 名字为 CachedSer澳门威泥斯人vlet,映射为 /CachedServlet),并考试测验缓存其内容,将其 doGet() 措施调换如 清单 2

清单 2. 被缓存的 Servlet - CachedServlet.java

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("");

out.println("");

out.println(" A Servlet");

out.println(" ");

out.println("

The time will not change unless time is out or cache is cleared

");

out.println("  The time is " + new java.util.Date() + "

");

out.println(" ");

out.println("");澳门威泥斯人

out.flush();

out.close();

System.out.println(this.getClass().getName() + ".doGet() run!!!");

}

在 WAS 上面支配后在浏览器的地址栏中输入如下的地址 http://localhost:9080/DynaCacheTutorial/CachedServlet,输出可能如 图 6

图 6. 被缓存的 Servlet 的输出

然则当再次刷新的时刻,光阴仍旧是顿时发生变更的,缓存显然并没有起感化。缓存不是无缘无真个就发生了的,是必要进行设置设置设备摆设摆设。下面做最紧张的步骤,在 WebContent/WEB-INF 下创建一个名为 cachespec.xml 的文件,其内容如 清单 3

清单 3. 在 cachespec.xml 指定 Servlet 的缓存策略

servlet

/CachedServlet

false

false

0

300

手工从新支配或者等待 RAD 自动从新支配今后再次刷新 http://localhost:9080/DynaCacheTutorial/CachedServlet,打印出来的光阴竟然神奇般的凝固不变了。但跨越五分钟今后刷新光阴就会发生变更。就这样经由过程创建了一个 XML 文件并在此中指定必要缓存的 Servlet 的名字和光阴就完成了 Servlet 的缓存了,而代码本身没有任何的改变。这便是动态高速缓存强大年夜的地方,它尽可能的采取了非侵入的措施不会污染已有的代码了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: