`

应用避免访问浏览器缓存

    博客分类:
  • flex
阅读更多

 

 

项目经常遇到这么个问题:程序做了改动之后,由于浏览器存在缓存,用户看到的依旧是程序未改动时的效果。

可以尝试的解决方案有:

a)url后添加随机数

b)修改html头标记

c)修改ie浏览器不查看缓存或者不保存历史记录

d)清理缓存

etc...

 

今天尝试了用过滤器的方法,好使,给力。

 

package ******;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;

public class ForceNoCacheFilter implements Filter {
	
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
		((HttpServletResponse) response).setHeader("Cache-Control", "no-cache");
		((HttpServletResponse) response).setHeader("Pragma", "no-cache");
		((HttpServletResponse) response).setDateHeader("Expires", -1);
		filterChain.doFilter(request, response);
	}
	
	public void destroy() {
	}
	
	public void init(FilterConfig filterConfig) throws ServletException {
	}
}

 

	<filter>
	     <filter-name>NoCache</filter-name>
	     <filter-class>过滤器的包名.类名</filter-class>
	</filter>
	<filter-mapping>
	     <filter-name>NoCache</filter-name>
	     <url-pattern>/*</url-pattern>
	</filter-mapping>

 

分享到:
评论

相关推荐

    Web应用项目的优化()

    同时,可以使用浏览器缓存技术来减少页面请求次数,从而提高页面响应速度。 后端优化主要包括数据库优化、代码优化和服务器优化等方面。在数据库优化方面,可以使用索引技术来加快查询速度,避免全表扫描。在代码...

    HTML5用户指南

     综合应用  对遗留浏览器的向后兼容  样式化新表单字段和错误消息  覆盖浏览器默认  使用 diy验证  避免验证  小结 第4章 视频和音频  本地多媒体:为什么、是什么、如何做  编码解码器  滚动定制控件  ...

    Java高并发高性能分布式框架从无到有微服务架构设计.doc

    高并发- HTTP缓存浏览器缓存是指当我们使用浏览器访问一些网站页面或者http服务时,根据服 务端返回的缓存设置响应头将响应内容缓存到浏览器,下次可以直接使用缓存内容或者 仅需要去服务端验证内容是否过期即可。...

    Google Chrome 6.0.451.0 Dev 版(一个由Google公司开发的网页浏览器)

     Web Developer扩展包,您可以访问其他的开发者工具,例如验证选项,页面尺寸调整和CSS要素浏览器:所有功能都可以从工具栏中一个额外的按钮进入。  Chrome Editor是您不能错过的。它可以让您在浏览器中轻松编码,...

    React手稿之 React-Saga的详解

    redux-saga 是一个用于管理应用程序副作用(例如异步获取数据,访问浏览器缓存等)的javascript库,它的目标是让副作用管理更容易,执行更高效,测试更简单,处理故障更容易。 redux-saga相当于一个放置在action与...

    全面剖析.Net环境下的缓存技术

    一、 概念 1.1 缓存能解决的问题 · 性能——将相应数据存储...而缓存数据也能降低对数据库的访问次数,降低数据库的负担和提高数据库的服务能力; · 可用性——有时,提供数据信息的服务可能会意外停止,如果使用

    Ajax和XML:五种常见Ajax模式

    避免浏览器缓存模式5.替换多个HTML片段结束语下载参考资料的确,Ajax是Web2.0热门术语,所有人都希望将其应用于自己的站点。但是它对我们究竟有什么意义?工程师该如何在架构的层面上将其集成到自己的站点中?在这篇...

    Spring MVC 3.0实战指南.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 ...4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 ...允许利用浏览器的缓存且不当心不同步 AQ?

    Spring3MVC注解教程.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 ... ...4、数据转换、格式化、校验 ...数据模型访问结构 ...访问数据模型:...允许利用浏览器的缓存且不当心不同步

    ASP EXCEL导入SQL

     平台是多租赁用户的在线多应用来实现的,由于每个用户的具体业务需求不同,因此每个租赁用户的应用是相互隔离的,但应用层的结构却都是相同,从上到下主要分为业务展现层、业务逻辑层、业务模型层、实体访问层;...

    plone 4.2.1

    受益于导航快捷方式(如公告栏,显示最近几天创建和修改的对象,避免了要浏览整个站点才能找到这些对象)的帮助 2) 可创建复杂结构文档的简单工具 如PIQ和UPC表单,每个文档的不同部分对不同的观众可见,可定制的...

    flashfxpFTP绿色中文版

    具有避免空闲功能,防止被站点踢出;可以显示或隐藏“隐藏”属性的文件、文件夹;支持每个站点使用被动模式等! 更新日志:v4.3.0.1937 更新的语言。 更新到OpenSSL1.0.1e 修正几个问题,计划的任务将无法传输的文件...

    neighborhood-map:Udacity前端开发人员纳米学位的最终项目

    该应用程序应显示可过滤的结果列表和这些结果的地图视图,并且应具有响应性,可访问性和渐进性。 怎么跑 该应用程序是使用,可以使用此类应用程序的标准流程来运行: 下载或克隆此存储库 使用npm install安装所有...

    浅析Python的Django框架中的Memcached

    动态网站的问题就在于它是动态的。 也就是说每次用户访问一个页面,服务器要执行数据库查询,启动...缓存的目的是为了避免重复计算,特别是对一些比较耗时间、资源的计算。 下面的伪代码演示了如何对动态页面的结果进

    JspRun!社区论坛系统 v6.0 bulid 090423 GBK 源码版.rar

    12、优化thread页面解析特殊代码,避免出现死循环, 13、更多细节方面的优化 新增功能 1、增加了远程附件服务器附件下载功能,可以最大限度减轻论坛服务器负担 2、增加了注册页面可添加广告 3、增加了更改访问...

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

    12、优化thread页面解析特殊代码,避免出现死循环, 13、更多细节方面的优化 新增功能 1、增加了远程附件服务器附件下载功能,可以最大限度减轻论坛服务器负担 2、增加了注册页面可添加广告 3、增加了更改访问...

    C#微软培训资料

    第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型...

    PHPvod视频点播系统 2.5 for php5.3.x gbk.rar

    Phpvod从创立之初即以提高产品效率为突破口,随着编译模板,数据缓存等技术的应用,和坚固的数据结构及最少化数据库查询设计,使得PHPvod 可以在极为繁忙的服务器环境下快速稳定运行,切实节约网站成本。 支持用户...

    astore:共享请求聚合器和临时实体存储

    一家商店位于您的DAO顶部的商店,可以避免不必要的调用而保存您的应用程序。安装该模块具有零依存关系。 该模块与浏览器兼容。 npm install astore --save 语境与数据服务或数据库通信时,通常在其前面包括某种形式...

Global site tag (gtag.js) - Google Analytics