Servlet缓存清理

其实Servlet(包括JSP)的缓存清理操作起来非常简单,但就是因为太简单有时会让我们忽略它。

我在做一个主要在手机端服务的一个网站,一开始并没有处理缓存,因为没有必须清除缓存的理由。

后来在用的时候会偶尔出现相同的bug:登陆失败!登陆的过程是:我们的入口发送一个登陆请求到平台商服务器,平台商服务器解析我们的请求,之后给出登陆令牌类似的东西再请求我们的服务器。问题就出在:平台商服务器不能正确地解析我们的请求,报出异常,这不是最麻烦的,最麻烦的是,我不知道是什么原因造成的,没有办法还原现场,自己测试总是正常的;这个问题每天出现几十次,概率在千分之一左右,不是很频繁,所以下决心改了几十次(有记录的就17次),也和平台技术人员沟通过多次,始终没有得到解决。

突然今天灵感来了,不会是缓存吧!然后我就把项目相关的地方通通把缓存清理掉,结果...很满意!

老罗说,它手机那个新软件(好像是闪电胶带啥的)刚出来的时候,他也就玩了几百遍吧。我这个问题解决之后,我终于理解他了,我也就在手机上刷了几十遍吧。不是因为技术上有了啥突破,就是因为困扰这么久的问题被突然解决了有点小兴奋...

既然说了Servlet缓存清理,就把代码列一下吧:

服务器端:

// 我是写在过滤器里的,所以这里要强制类型转换一下
HttpServletResponse resp = (HttpServletResponse) response;
resp.setHeader("expires", "-1");
resp.setHeader("pragma", "no-cache");
resp.setHeader("cache-control", "no-cache");

JSP页面:

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值