如果在jsp中使用如下标签

<cache:cache key="foobar" scope="session"> some jsp content
</cache:cache>

那么这中间的一段jsp代码将会以key="foobar"缓存在session中,任何其他页面中使用这个key的cache标签都能共享这段存在缓存中的执行结果。

考虑一个需求,一个页面是有许多个不同的jsp文件拼出来的,可能在页首有随机的广告,登录用户的信息,系统的即时信息,固定的目录信息等等;这其中可以考虑将固定的目录信息放入缓存中,而其他动态信息则即时刷新;再进一步考虑有时候页面之间的信息是关联的,只有当其中一条信息的内容变化了才需要去刷新。

对于这种需求就可以考虑在<cache:cache/>标签中配置group属性,将不同的具有关联关系的cache内容分组,这样oscache会自动的帮你检查该组缓存内容的变化情况,如果有任何一子成员组的内容变化了则会执行刷新,这样就可以在页面实现数据的动态同步。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ taglib uri="http://www.opensymphony.com/oscache" prefix="cache"%><head><title>Test Page</title><style type="text/css">
body {font-family: Arial, Verdana, Geneva, Helvetica, sans-serif
}
</style>
</head>
<body><a href="<%=request.getContextPath()%>/">Back to index</a><p><hr>Flushing 'group2'<hr><cache:flush group='group2' scope='application' /><hr><!-- 这里有两个cache分组group1和group2,将group2设置为每次都执行刷新,所以test1为key的cache每次刷新页面内容都是重新执行过的 --><cache:cache key='test1' groups='group1,group2' duration='5s'><b>Cache Time1</b>: <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())%><br>  This is some cache content test1 that is in 'group1' and 'group2'. Normally it would refresh if it  was more than 5 seconds old, however the <cache:flush group='group2' scope='application' />  tag causes this entry to be flushed on every page refresh.<br></cache:cache><hr><!-- test2只有当间隔时间超过5秒才会更新内容 --><cache:cache key='test2' groups='group1' duration='5s'><b>Cache Time2</b>: <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())%><br>  This is some cache content test2 that is in 'group1' (refreshes if more than 5 seconds old)<br></cache:cache><hr>
    <!--每隔20秒刷新一次-><cache:cache key='test3' duration='20s'><b>Cache Time3</b>: <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())%><br>  This is some cache content test3 that is in 'group1' and 'group2'. The groups are added using the  tag.<br></cache:cache><hr>

    <!--实时刷新--><cache:cache key='test4' duration='20s'><b>Cache Time4</b>: <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())%><br>  This is some cache content test4 that is in 'group1' and 'group2'. The groups are added using the tag.<br><cache:addgroups groups='group1,group2' /></cache:cache><hr>
</body>
</html>

<cache:addgroup group='{you_group}'/>可以将所在的you_group加入当前所在位置的group中

OSCache-JSP页面缓存(2)相关推荐

  1. nginx+redis 实现 jsp页面缓存,提升系统吞吐率

    最近在开发的时候,发现之前APP客户端的一部分页面用的是webview交互,这些页面请求很多,打开一套试卷,将会产生100+的请求量,导致系统性能下降.于是考虑在最靠近客户端的Nginx服务器上做Re ...

  2. JSP页面在浏览器中显示HTML代码被截断显示不全

    本文参考: 参考博文 代码明明没错的情况下,把我一天的时间给浪费了..实属把我整自闭了..后面觉得查看了源代码才发现是这样.. 问题描述: 在JSP页面内容过长时,在JSP代码没有错误的情况下,查看页 ...

  3. jsp页面禁止缓存设置

    jsp页面禁止缓存设置 sp页面禁止缓存设置 1.客户端缓存要在<head>中加入类似如下内容: Html代码   <meta http-equiv="pragma&quo ...

  4. 细谈Ehcache页面缓存的使用

    为什么80%的码农都做不了架构师?>>>    关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应用中80% 的时间内都在访问20% 的数据,那么,这时候就应该使用缓存了 ...

  5. 利用Redis进行全页面缓存的简单Demo

    2019独角兽企业重金招聘Python工程师标准>>> 使用Redis进行全页面缓存,如何实现呢?本文使用简单的思路来实现这个功能. 一.环境介绍 使用的开源框架主要是springm ...

  6. JSP页面中验证码的调用方法

    步骤: 1.首先是要生成验证码 2.对验证码类进行调用:主要 实现的是  将验证码图片 输出到response.getOutputStream()这个输出流中 调用时,可以在页面调用,也可以在serv ...

  7. tomcat work目录的作用就是编译每个项目里的jsp文件为java文件如果项目没有jsp页面则这个项目文件夹为空...

    最近发现,很多网友喜欢把tomcat的work目录里的东西叫做缓存,其实那不是很恰当,work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录,这也正是为什么它 ...

  8. java8生成jsp页面内容组装到jsp中_JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署...

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

  9. jsp页面实现打印 .

    报表在信息系统中占据了极为重要的位置,广义上讲,报表主要以多样的格式呈现和打印动态数据,动态数据主要指保存在数据库中的数据,也可以是文本中的数据.XML数据.Hibernate数据.EJB数据.自定义 ...

  10. 关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序

    关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序 1.修改自己过滤器中对编码格式的修改 如图: 代码如下: public void doFilter(ServletRequest ...

最新文章

  1. php单屏网站源码,关于原生js实现类似fullpage的单页/全屏滚动的方法
  2. 【编程】堆(heap)和栈(stack)的区别
  3. 牛客竞赛36签到题A(思维)
  4. 插入公式_一个小工具,彻底帮你搞定在Markdown中插入公式的问题
  5. vs code .lua.txt 后缀文件识别为lua的配置
  6. python自动化测试框架哪个好_Python 自动化测试框架unittest与pytest的区别
  7. (转)淘淘商城系列——商品搜索功能Dao实现
  8. 谷歌拼音输入法快速切换中英文解决中英文混合打字问题
  9. nts包如何下周 php_【Composer】PHP开发者必须了解!(life)
  10. PyTorch:nn操作
  11. Hosts 文件切换工具
  12. PDF阅读器如何实现免费论文查重
  13. 易语言解析html实例,易语言总使用正则表达式实例解析
  14. IOS视频播放器缓存
  15. 激光雷达进入「规模化」上车周期?最大变数是什么?
  16. Haproxy集群配置
  17. 2019级软件工程应用与实践-人工智能快递柜(代码分析3)
  18. 性能分析之系统资源饱和度
  19. 苹果app老是显示无法连接服务器失败原因,iphone无法连接到app store服务器出错怎么办...
  20. 关于NC65通过接口新增客户档案并分配出现的分配组织错误的问题及解决方法

热门文章

  1. bean定义的继承 - Spring Framework reference 2.0.5 参考手册中文版
  2. Spring MVC 配置--解剖
  3. spark 源码分析之十三 -- SerializerManager剖析
  4. 黑客游戏系列--------第四关
  5. IDEA 中 右键新建时,没有新建class的解决方案
  6. python zipfile 文件压缩和文件
  7. Js函数function基础理解
  8. LeetCode(16)题解--3Sum Closest
  9. Win10开发UWP使用.Net Native编译时遇到的一些问题。
  10. C专家编程--读书笔记六 运行时数据结构