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缓存有好处,但也有坏处,缓存有时候会导致误操作,影响用户体验,若你的WEB项目不需要ajax缓存功能,可按下述方法来禁止ajax缓存。 一、在ASP中禁止ajax缓存: ‘放在ASP网页最开头部分 Response.expires=0 ...
AJAX实现的多人聊天室,使用ASP.NET做后台,数据使用缓存实现
本源代码基于JSP/TOMCAT/MYSQL/AJAX/OSCACHE/FILEUPLOAD等技术平台实现。关注技术: AJAX 实现异步调用,聊天室、验证用户、类似QQ等待图标功能模块; OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; ...
要实现进度条的显示,就要知道两个参数,上传的大小和总文件的大小 ...小/总大小,计算上传的百分比,然后将此数据缓存起来,前端发送异步请求查询数据接口,用这个百分比控制div框的显示,就可以实现上传的进度条效果
ajax实现输入提示(类似百度和Google的输入提示) 用法非常简单: ...5、注意:这种方式是页面加载的时候就要调用js方法的,数据是一次性加载的,当用户查询的时候是不会查询数据库的,是查询js的缓存对象
【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/TOMCAT/MYSQL/AJAX/OSCACHE/FILEUPLOAD等技术平台实现。关注技术: AJAX 实现异步调用,聊天室、验证用户、类似QQ等待图标功能模块; OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; ...
本源代码基于JSP/TOMCAT/MYSQL/AJAX/OSCACHE/FILEUPLOAD等技术平台实现。关注技术: AJAX 实现异步调用,聊天室、验证用户、类似QQ等待图标功能模块; OSCACHE 实现缓存功能,另不频繁修改资源页面得到更快响应; ...
OSCACHE 运用缓存技术使不经常更新页面得到更快响应,加速JSP速度 FILEUPLOAD 运用上传开源框架上传自定义图片,文件 MYSQL 分页功能 独立开发的小说分割系统功能,以及多种CSS样式,特色源码还需大家慢慢发觉。 ...
经典例子,自己以前项目中用过的,必须10分的资源..............
ajax调用的返回数据会被缓存,调用静态html ,即使把html修改了,IE依有可能然用原来的数据显示。 而firefox可以正常显示新的数据。 解决办法: prototype的GET中,设置 pars = “mod=readArticle&fid=’+$F(...
采用Model II 架构,前台JSP/AJAX主要完成数据显示,Action类负责前台数据的接收和处理,DAO层完成数据库的查询、更新、删除、插入等操作,论坛对于常用数据使用了数据缓存,我们针对不同的类型数据设计了不同数据...
JspRun!社区论坛系统,2010年08月04日更新内容部分列表 修复功能 1、修复表单非法提交bug。 2、修复快速发表主题时,只能添加一个附件的问题。 3、修复个人空间发表文集成功后跳转地址不正的的问题。 4、修复发...
2.ajax缓存问题,需要加入xmlHttp.setRequestHeader(”If-Modified-Since”,”0″);便可解决. 3.如果不是ajax提交,而设置了PrintWriter out = response.getWriter();则jsp会产生中文乱码. 4.ajax返回xml乱码的原因 ...
完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第12章 自定义mvc框架(共11页).pptx 完整版Java web开发教程PPT课件 Java开发...
前端:JSP,css,JavaScript,JQuery,Ajax。 后端:Spring,SpringMVC,MyBatis 二、主要功能有: 1、系统管理员: 博客管理(写博客,修改博客,删除博客,博客查询); 博客类别管理(添加,修改,删除博客类别...
当页面使用ajax 提交表单时,默认页面是没有缓存历史记录功能的,于是写了一个基于js的cookie lis记录功能,类似于百度搜索后下次还能看到之前输入的数据。省去了大量重复录入工作。