`
javathinker
  • 浏览: 227536 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

页面缓存, jsp 缓存, html 缓存, ajax缓存,解决方法

阅读更多

有关页面缓存问题.这个问题上网找了好多.但发觉各种解决方法,都彼此分离,没有一篇统一的解决方法,本人近日,也遇到了页面缓存的问题,根据网上各页面缓存的解答,做了一个总结。

1.服务器端缓存的问题,防止JSP页面缓存:

  1. <%
  2. //将过期日期设置为一个过去时间
  3. response.setHeader("Expires","Sat,6May199512:00:00GMT");
  4. //设置HTTP/1.1no-cache头
  5. response.setHeader("Cache-Control","no-store,no-cache,must-revalidate");
  6. //设置IE扩展HTTP/1.1no-cacheheaders,用户自己添加
  7. response.addHeader("Cache-Control","post-check=0,pre-check=0");
  8. //设置标准HTTP/1.0no-cacheheader.
  9. response.setHeader("Pragma","no-cache");
  10. %>

当然,每一个页面都包含这些代码会很繁琐,可以通过自定义过滤器(Filter)的方法来处理相关的页面

2.防止html页面缓存

  1. <metahttp-equiv="pragma"content="no-cache">
  2. <metahttp-equiv="cache-control"content="no-cache">
  3. <metahttp-equiv="expires"content="0">

3.防止Ajax缓存

如果,你的页面,已经设置了防止JSP,HTML的页面缓存,但发觉页面缓存,始终存在,就要考虑是否Ajax造成的页面缓存了。

1)设置了,如上1,2之后

Ajax缓存,产生的原因是:request, url的地址上:
IE中如果XMLHttpRequest提交的URL与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据。

针对ajax,需要如下设置:

方法一:加时间戳 var url = BaseURL + "&timeStamp=" + new Date().getTime();
方法二:加随机数 var url = BaseURL + "&r=" + Math.random();

总结:原引(http://www.javaeye.com/topic/150162)

在jsp页面中,光是使用html的<meta> tag是无法禁止缓存的。一定要加上

response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

有人肯定会说,这个跟html的tag设置没有不同啊。的确,我也觉得,但实践证明,没有这几句,光靠html tag不行。

所以当action会返回页面时,有以下这两种情况:

a,返回的页面没有写上上面的禁止cache的语句(或者只写了html tag)。IE存储的是URL link + page result(cache eabled)。这也就是导致了之前为什么还会有cache的原因

b,返回的页面写上了禁止cache语句。IE存储的是URL link + page result(cache disabled)。这样才能够实现到我们想要的目的。每次都会真正的发出request。

总结:页面缓存没有统一的解决方法,要具体问题具体分析.

分享到:
评论

相关推荐

    ajax与jsp清除缓存

    用于ajax与jsp清除缓存,非常简单!

    在(ASP/PHP/JSP/html/js)中禁止ajax缓存的方法集锦

    ajax缓存有好处,但也有坏处,缓存有时候会导致误操作,影响用户体验,若你的WEB项目不需要ajax缓存功能,可按下述方法来禁止ajax缓存。 一、在ASP中禁止ajax缓存: ‘放在ASP网页最开头部分  Response.expires=0 ...

    AJAX实现的多人聊天室

    AJAX实现的多人聊天室,使用ASP.NET做后台,数据使用缓存实现

    ajax实现输入提示(类似百度和Google的输入提示)

    ajax实现输入提示(类似百度和Google的输入提示) 用法非常简单: ...5、注意:这种方式是页面加载的时候就要调用js方法的,数据是一次性加载的,当用户查询的时候是不会查询数据库的,是查询js的缓存对象

    JSP影视资讯+论坛综合网开源代码(二)

    OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; FILEUPLOAD 实现文件上传; 自行设计的文本分割功能模块以及特色CSS样式,靠大家慢慢发觉。由于本源码基本用于工作测试用,不足之处望指正赐教。 本项目...

    java jsp ajax实现上传文件进度条(详细代码和文档)

    要实现进度条的显示,就要知道两个参数,上传的大小和总文件的大小 ...小/总大小,计算上传的百分比,然后将此数据缓存起来,前端发送异步请求查询数据接口,用这个百分比控制div框的显示,就可以实现上传的进度条效果

    JSP影视资讯+论坛综合网开源代码

    OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; FILEUPLOAD 实现文件上传; 自行设计的文本分割功能模块以及特色CSS样式,靠大家慢慢发觉。由于本源码基本用于工作测试用,不足之处望指正赐教。 本项目...

    JSP 影视资讯+论坛综合网开源代码

    OSCACHE 运用缓存技术使不经常更新页面得到更快响应,加速JSP速度 FILEUPLOAD 运用上传开源框架上传自定义图片,文件 MYSQL 分页功能 独立开发的小说分割系统功能,以及多种CSS样式,特色源码还需大家慢慢发觉。 ...

    JSP影视资讯+论坛综合网开源代码(一)

    OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; FILEUPLOAD 实现文件上传; 自行设计的文本分割功能模块以及特色CSS样式,靠大家慢慢发觉。由于本源码基本用于工作测试用,不足之处望指正赐教。 本项目...

    SSM三大框架整合所需jar包+日志/缓存/验证码/ajax/数据校验全部jar包

    【jstl-jsp标准标签库】 taglibs-standard-jstlel-1.2.5.jar 【springMVC核心】 spring-web-4.0.0.RELEASE.jar spring-webmvc-4.0.0.RELEASE.jar 【数据校验】 hibernate-validator-5.0.0.cr2.jar ...

    JspRun!社区论坛系统 v6.0 GBK 安装版.rar

     4、修复发报告时,在非ajax下页面显示没有样式的问题。 5、修复后台在线列表定制技巧提示话语错误的问题。 6、修复个人信息中关于同意接收论坛通知,此项应该只对后台的论坛通知起作用。 7、修复附件下载权限...

    AJAX三级联动(经典例子,自己以前项目中用过的,必须10分的资源)

    经典例子,自己以前项目中用过的,必须10分的资源..............

    LyBBS『凌云论坛』系统

    采用Model II 架构,前台JSP/AJAX主要完成数据显示,Action类负责前台数据的接收和处理,DAO层完成数据库的查询、更新、删除、插入等操作,论坛对于常用数据使用了数据缓存,我们针对不同的类型数据设计了不同数据...

    Ajax中要注意的问题

    ajax调用的返回数据会被缓存,调用静态html ,即使把html修改了,IE依有可能然用原来的数据显示。 而firefox可以正常显示新的数据。 解决办法: prototype的GET中,设置 pars = “mod=readArticle&fid=’+$F(...

    js做的cookie记忆功能

    当页面使用ajax 提交表单时,默认页面是没有缓存历史记录功能的,于是写了一个基于js的cookie lis记录功能,类似于百度搜索后下次还能看到之前输入的数据。省去了大量重复录入工作。

    完整版Java web开发教程PPT课件 Java开发进阶教程 第20章 数据库连接池,缓存(共15页).pptx

    完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第12章 自定义mvc框架(共11页).pptx 完整版Java web开发教程PPT课件 Java开发...

    Ajax 程序开发中常见问题

    2.ajax缓存问题,需要加入xmlHttp.setRequestHeader(”If-Modified-Since”,”0″);便可解决. 3.如果不是ajax提交,而设置了PrintWriter out = response.getWriter();则jsp会产生中文乱码. 4.ajax返回xml乱码的原因 ...

    基于ssm框架个人博客管理系统(java+ssm+jsp+mysql)(普通用户+管理员)

    前端:JSP,css,JavaScript,JQuery,Ajax。 后端:Spring,SpringMVC,MyBatis 二、主要功能有: 1、系统管理员: 博客管理(写博客,修改博客,删除博客,博客查询); 博客类别管理(添加,修改,删除博客类别...

Global site tag (gtag.js) - Google Analytics