`
sony-soft
  • 浏览: 1015137 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

url:http://blog.csdn.net/oklzh/archive/2009/08/14/4445722.aspx

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

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

view plaincopy to clipboardprint?
<%
// 将过期日期设置为一个过去时间
response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
// 设置 HTTP/1.1 no-cache 头
response.setHeader("Cache-Control", "no-store,no-cache,must-revalidate");
// 设置 IE 扩展 HTTP/1.1 no-cache headers, 用户自己添加
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
// 设置标准 HTTP/1.0 no-cache header.
response.setHeader("Pragma", "no-cache");
%>
<%
// 将过期日期设置为一个过去时间
response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
// 设置 HTTP/1.1 no-cache 头
response.setHeader("Cache-Control", "no-store,no-cache,must-revalidate");
// 设置 IE 扩展 HTTP/1.1 no-cache headers, 用户自己添加
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
// 设置标准 HTTP/1.0 no-cache header.
response.setHeader("Pragma", "no-cache");
%>

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

2.防止html页面缓存

view plaincopy to clipboardprint?
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-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。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/oklzh/archive/2009/08/14/4445722.aspx

j2ee清除缓存的三句话
2008年10月31日 19:19

在ajax中经常会遇到一个问题,就是有重复请求的时候,ajax将不理会,所以我们可以有以下的处理方法。

1.使用随机数或者时间加入url如:

var url = "user.action?username=xxxx&date="+new Date();



2.使用response方法清除浏览器缓存:

<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
分享到:
评论

相关推荐

    ajax与jsp清除缓存

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

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

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

    AJAX实现的多人聊天室

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

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

    本源代码基于JSP/TOMCAT/MYSQL/AJAX/OSCACHE/FILEUPLOAD等技术平台实现。关注技术: AJAX 实现异步调用,聊天室、验证用户、类似QQ等待图标功能模块; OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; ...

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

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

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

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

    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 ...

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

    本源代码基于JSP/TOMCAT/MYSQL/AJAX/OSCACHE/FILEUPLOAD等技术平台实现。关注技术: AJAX 实现异步调用,聊天室、验证用户、类似QQ等待图标功能模块; OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; ...

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

    本源代码基于JSP/TOMCAT/MYSQL/AJAX/OSCACHE/FILEUPLOAD等技术平台实现。关注技术: AJAX 实现异步调用,聊天室、验证用户、类似QQ等待图标功能模块; OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; ...

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

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

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

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

    Ajax中要注意的问题

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

    LyBBS『凌云论坛』系统

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

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

    JspRun!社区论坛系统,2010年08月04日更新内容部分列表 修复功能 1、修复表单非法提交bug。 2、修复快速发表主题时,只能添加一个附件的问题。 3、修复个人空间发表文集成功后跳转地址不正的的问题。 4、修复发...

    Ajax 程序开发中常见问题

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

    完整版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开发...

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

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

    js做的cookie记忆功能

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

Global site tag (gtag.js) - Google Analytics