1.缓存整个页面

在OSCache组件中提供了一个CacheFilter用于实现页面级的缓存。主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成PDF格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的压力,而且对于减少web服务器的性能消耗有很显著的效果。

功能是通过在web.xml中进行配置来决定缓存哪一个或者哪一组页面,而且还可以设置相关缓存属性。

缓存指定页面,配置如下:

  1. <filter>
  2. <filter-name>CacheFilter</filter-name>
  3. <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>
  4. <!-- 设置缓存时间 -->
  5. <init-param>
  6. <param-name>time</param-name>
  7. <param-value>600</param-value>
  8. </init-param>
  9. <!-- 设置作用范围 -->
  10. <init-param>
  11. <param-name>scope</param-name>
  12. <param-value>session</param-value>
  13. </init-param>
  14. </filter>
  15. <filter-mapping>
  16. <filter-name>CacheFilter</filter-name>
  17. <!-对页面 main.jsp 进行缓存-->
  18. <url-pattern>main.jsp</url-pattern>
  19. <!-对所有jsp页面内容进行缓存
  20. <url-pattern>*.jsp</url-pattern>  -->
  21. </filter-mapping>

备注:

1.在页面级缓存的情况下,可以通过设置CacheFilter的初始属性来决定缓存的一些特性:time属性设置缓存的时间段,默认为3600秒,可以根据自己的需要只有的设置,而scope属性设置,默认为application,可选项包括application、session。

2.只有客户访问时返回http头信息中代码为200(也就是访问已经成功)的页面信息才能够被缓存。

2.缓存局部页面

    使用OScache标签,用标签把指定的内容给包含起来。在标签中可以设置缓存的属性。
用OSCache局部缓存,保存页面中的内容:
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ page language="java" import="java.util.*" %>
  4. <%@ page language="java" import="java.text.*" %>
  5. <%@ taglib uri="http://www.opensymphony.com/oscache" prefix="cache" %>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  7. <html>
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  10. <title>Insert title here</title>
  11. </head>
  12. <body>
  13. <%SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); %>
  14. <div>
  15. <cache:cache key="cacheDate" scope="session" time="15">
  16. <h2>使用缓存,让时间在15秒内不进行更新</h2>
  17. <div><%
  18. String cacheTime = sdf.format(new Date());
  19. out.println(cacheTime);
  20. %>
  21. </div>
  22. </cache:cache>
  23. </div>
  24. <hr>
  25. <div>
  26. <h2>不使用缓存</h2>
  27. <div><%
  28. String commonTime = sdf.format(new Date());
  29. out.println(commonTime);
  30. %></div>
  31. </div>
  32. </body>
  33. </html>
 

页面效果:

OScached缓存整个页面和缓存局部页面的更多相关文章

  1. ehcache 页面整体缓存和局部缓存

    页面缓存是否有必要?. 这样说吧,几乎所有的网站的首页都是访问率最高的,而首页上的数据来源又是非常广泛的,大多数来自不同的对象,而且有可能来自不同的db ,所以给首页做缓存是很必要的.那么主页的缓存策 ...

  2. ehcache实现页面整体缓存和页面局部缓存

    之前写过spring cache和ehcache的基本介绍和注解实现缓存管理,今天记录下web项目的页面缓存技术. 页面缓存是否有必要?. 这样说吧,几乎所有的网站的首页都是访问率最高的,而首页上的数 ...

  3. EhCache缓存页面、局部页面和对象缓存

    页面缓存:SimplePageCachingFilter web.xml <!-- 页面缓存配置,配合ehcache.xml中name为“SimplePageCachingFilter”(默认值 ...

  4. 1.ehcache实现页面整体缓存和页面局部缓存

    转自:https://www.cnblogs.com/jianjianyang/p/4933016.html 好长时间没写博客了,真的是没时间啊.ps:其实就是懒!!接下来几篇要写下缓存,这里主要写下 ...

  5. 关于vue里页面的缓存

    keep-alive是vue内置的一个组件,可以使被它包含的组件处于保留状态,或避免被重新渲染. 用法: 运行结果描述: input输入框内,路由切换输入框内部的内容不会发生改变. 在keep-ali ...

  6. ASP.Net 更新页面输出缓存的几种方法

    ASP.Net 自带的缓存机制对于提高页面性能有至关重要的作用,另一方面,缓存的使用也会造成信息更新的延迟.如何快速更新缓存数据,有时成了困扰程序员的难题.根据我的使用经验,总结了下面几种方法,概括了 ...

  7. HTML页面和JSP页面禁止缓存

    一.JSP页面禁止缓存: 防止浏览器缓存当前访问的JSP动态页面,可以采用如下的方式进行设置,此效果如下的“HTML禁止缓存”: % 将过期日期设置为一个过去时间response.setHeader( ...

  8. html页面清除缓存

    需求:页面每次打开时清除本页面的缓存. 页面打开时,由于缓存的存在,刚刚更新的数据有时无法在页面得到刷新,当这个页面作为模式窗口被打开时问题更为明显. 解决办法为: (1) 用HTML标签设置HTTP ...

  9. .NET的三种缓存(页面缓存,控件缓存,自定义缓存)

    BLL.Area bll = new BLL.Area(); protected void Page_Load(object sender, EventArgs e) { if (Cache[&quo ...

随机推荐

  1. 团队Beta阶段事后分析

    团队Beta阶段事后分析 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决用户的休闲娱乐问题,为用户提供好玩的模拟经营类的游戏,游戏主题 ...

  2. php中array_map和array_walk的使用对比

    一.array_map() 1.array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组,若函数作用后无返回值,则对应的新值数组中为空. 2.回调 ...

  3. python学习笔记02:运行python程序

    1.启动cmd命令行,输入python后回车,运行python解释器: 输入python代码后回车: print('Hello World')

  4. C# 正则表达式 最全的验证类

    ///<summary> ///验证输入的数据是不是正整数 ///</summary> ///<param name="str">传入字符串&l ...

  5. C#下Label的多行显示

    效果如图 1. tableLayout 三行两列 第一行 存放二维码的信息 第二行空白,用于分割 第三行存储LOGO信息 2. Lable4个,Dock属性都为Fill 第一列TextAlign使用M ...

  6. java.awt.AWTError: Can't connect to X11 window server using ':20' as the value of the DISPLAY variable

    1.使用pio在Linux服务器上创建window文件时,需要使用到Linux的图形界面服务,出现以下问题需确认用户权限. 参考文献:https://zhidao.baidu.com/question ...

  7. [剑指Offer] 51.构建乘积数组

    题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1].不 ...

  8. IO复用、多进程和多线程三种并发编程模型

    I/O复用模型 I/O复用原理:让应用程序可以同时对多个I/O端口进行监控以判断其上的操作是否可以进行,达到时间复用的目的.在书上看到一个例子来解释I/O的原理,我觉得很形象,如果用监控来自10根不同 ...

  9. 第71天:jQuery基本选择器(二)

    jQuery选择器 一.内容过滤选择器 选择器 描 述 返 回 示 例 :contains(text) 匹配含有文本内容text的元素 集合元素 $(“p:contains(今天)”) :empty ...

  10. ASP.NET MVC下使用文件上传和IIS7下的默认设置限制了上传大小的方法

    不多说了,直接用别人的 http://www.cnblogs.com/jiekzou/p/4491505.html