1. <%
  2. response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
  3. response.setHeader("Pragma","no-cache"); //HTTP 1.0
  4. response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
  5. %>

一、清除页面缓存

  1. 在jsp页里

    1
    2
    3
    4
    <%response.setHeader("Pragma","No-cache");
    response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires", 0);
    response.flushBuffer();%>

    在html页里:

    1
    2
    3
    4
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
    <META HTTP-EQUIV="Expires" CONTENT="0">

    二、清除cookie

    1
    2
    3
    4
    5
    6
    <%
      Cookie killMyCookie = new Cookie("mycookie", null);
      killMyCookie.setMaxAge(0);
      killMyCookie.setPath("/");
      response.addCookie(killMyCookie);
    %>

    三、清除session

    清除session方法

    1
    2
    3
    4
    <%@ page language="java" %>
    <%
    session.invalidate();
    %>

    在页面关闭时清除session,需要捕获windows.onclose事件,再调用清除session方法

    补充:如何使用 JavaScript 代码清除缓存?

    如果在服务器级不能生成随机数,您可以使用 JavaScript 代码在客户端(浏览器)级生成一个字符串。以下示例图解说明如何使用标准图像代码或 Iframe/JavaScript 代码执行缓存清除。

    这些仅为示例。如果要使用该代码,请为特定 HTML 代码对示例作相应调整。您必须将实际代码粘贴到这些示例中的相应位置。

    标准图像代码示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <SCRIPT LANGUAGE="JavaScript">
    <!== hide from non-JavaScript browsers
    var axel = Math.random() + "";
    var num = axel * 1000000000000000000;
    document.writeln('<A HREF="http://ad.doubleclick.net/jump/N409.somesite/B470;sz=468x60;ord='+ num +'?"><IMG SRC="http://ad.doubleclick.net/ad/N409.somesite/B470;sz=468x60;ord='+ num +'?" BORDER=0 WIDTH=468 HEIGHT=60 ALT="Click Here!"> Click Here!</A>');
    // end hide from browsers ==>
    </SCRIPT>
    <NOSCRIPT>
    <IMG SRC="http://ad.doubleclick.net/ad/N409.somesite/B470;sz=468x60;ord=[timestamp]?" BORDER=0 WIDTH=468 HEIGHT=60 ALT="Click Here!"> Click Here!</A>
    </NOSCRIPT>

    Iframe/JavaScript 代码示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <SCRIPT LANGUAGE="JavaScript">
    <!== hide from non-JavaScript browsers
    var axel = Math.random() + "";
    var num = axel * 1000000000000000000;
    document.writeln('<IFRAME SRC="http://ad.doubleclick.net/adi/N409.somesite/B470;sz=468x60;ord='+ num +'?" WIDTH=470 HEIGHT=62 MARGINWIDTH=0 MARGINHEIGHT=0HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no BORDERCOLOR="#000000">');
    document.writeln('<SCR'+'IPT language="JavaScript1.1" SRC="http://ad.doubleclick.net/adj/N409.somesite/B470;abr=!ie;sz=468x60;ord='+ num +'?"></SCR'+'IPT></IFRAME>');
    // end hide from browsers ==>
    </script>
    <noscript>
    <A HREF="http://ad.doubleclick.net/jump/N409.somesite/B470;abr=!ie4;abr=!ie5;sz=468x60;ord=?">
    <IMG SRC="http://ad.doubleclick.net/ad/N409.somesite/B470;abr=!ie4;abr=!ie5;sz=468x60;ord=?" BORDER=0 WIDTH=468 HEIGHT=60 ALT="Click Here!"> Click Here!</A>
    <noscript>

jsp中如何清除缓存(转)的更多相关文章

  1. 全面剖析Smarty缓存机制二[清除缓存方法]

    前段时间,写了一篇 Smaryt缓存机制的几种缓存方式 ,详细介绍了三种缓存方式:全局缓存.部分缓存.局部缓存,以及通过is_cache()判断是否存在缓存来进行缓存生成.本来这篇早该完成,由于时间关 ...

  2. android清除缓存为什么总是存在12k?

    转载请注明出处:http://blog.csdn.net/droyon/article/details/41116529 android手机在4.2之后.清除缓存总是会残留12k的大小.预计强迫症患者 ...

  3. 如何在 Linux 中清除缓存(Cache)

              如何在 Linux 中清除缓存(Cache)            方法一: http://mp.weixin.qq.com/s?__biz=MjM5ODAzODgyMQ==&am ...

  4. iOS中清除缓存的方法 以及SDWebimage自带的清除缓存方法

    1  SDWebimage中 (1)  计算缓存的大小 单位 : (MB) CGFloat size = [[SDImageCache sharedImageCache] getSize] / 102 ...

  5. Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能。

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能. 下面是一个效果图 ...

  6. html页面清除缓存

    需求:页面每次打开时清除本页面的缓存. 页面打开时,由于缓存的存在,刚刚更新的数据有时无法在页面得到刷新,当这个页面作为模式窗口被打开时问题更为明显. 解决办法为: (1) 用HTML标签设置HTTP ...

  7. JSP中RequestDispatcher的用法

    RequestDispatcher是一个Web资源的包装器,可以用来把当前request传递到该资源,或者把新的资源包括到当前响应中.RequestDispatcher接口中定义了两个方法:inclu ...

  8. SP 页面缓存以及清除缓存

    JSP 页面缓存以及清除缓存 一.概述 缓存的思想可以应用在软件分层的各个层面.它是一种内部机制,对外界而言,是不可感知的. 数据库本身有缓存,持久层也可以缓存.(比如:hibernate,还分1级和 ...

  9. 项目一:第十三天 1、菜单数据管理 2、权限数据管理 3、角色数据管理 4、用户数据管理 5、在realm中动态查询用户权限,角色 6、Shiro中整合ehcache缓存权限数据

    1 课程计划 菜单数据管理 权限数据管理 角色数据管理 用户数据管理 在realm中动态查询用户权限,角色 Shiro中整合ehcache缓存权限数据         2 菜单数据添加 2.1 使用c ...

随机推荐

  1. day 20 collection模块 time 模块 os 模块

    一.collection模块 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要 ...

  2. git中工作区,缓存区,本地库,远程库的简要区别

    git中工作区,缓存区,本地库,远程库的简要区别 实际上前三个名词对应到实体,都是你从远程仓库克隆下来的那个项目目录!只不过工作区就是你实际看到的目录和目录里的内容,当你修改/添加/删除了从远程仓库c ...

  3. github 多人协作

    1.本地生成私钥: ssh-keygen -C "YourEmail@example.com" (这里的email使用github账号)生成公钥和私钥 2.查看私钥,并添加到自己的 ...

  4. 替换Jar包内的文件

    要替换Jar包内的文件可以用以下命令实现: jar uvf myjar.jar com/test/myclass.class 这里值得注意的是  myclass.class 必须放在com/test ...

  5. 队列 c实现

    循环队列的数组实现 queue.h #ifndef _QUEUE_H_ #define _QUEUE_H_ #define SIZE 10 typedef int data_t; typedef st ...

  6. genimage.cfg.template hacking

    #********************************************************************************* #* genimage.cfg.t ...

  7. 【c++基础】从json文件提取数据

    前言 标注数据导出文件是json格式的,也就是python的dict格式,需要读取标注结果,可以使用c++或者python,本文使用c++实现的. JsonCpp简介 JsonCpp是一种轻量级的数据 ...

  8. 百练1041-反反复复-2016正式C题

    C:反反复复 总时间限制:  1000ms 内存限制:  65536kB 描述 Mo和Larry发明了一种信息加密方法.他们首先决定好列数,然后将信息(只包含字母)从上往下依次填入各列,并在末尾补充一 ...

  9. Javascript中的Bind,Call和Apply

    http://www.html-js.com/article/JavaScript-functional-programming-in-Javascript-Bind-Call-and-Apply?s ...

  10. 数据库(linux)

    基本指令整合: 删除数据库 drop table   department 修改表中已有记录 update  company  set    salary=3000 where   age-25: u ...