JSP页面去掉response.setHeader('Pragma','No-cache');后TEXT框不能使用退格键,这是啥原因?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP页面去掉response.setHeader('Pragma','No-cache');后TEXT框不能使用退格键,这是啥原因?相关的知识,希望对你有一定的参考价值。

开始是想控制不能通过退格键进行页面返回,后来去掉了,但是发现页面的TEXT框不能使用退格键了,请问大侠是什么原因呢???

参考技术A javascript控制的,查查追问

无任何JS控制, 代码是我自己写的, 我已经检查过很多遍了

jsp中如何清除缓存(转)

  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页面去掉response.setHeader('Pragma','No-cache');后TEXT框不能使用退格键,这是啥原因?的主要内容,如果未能解决你的问题,请参考以下文章

页面定时刷新或自动跳转

js页面通过servlet 删除一条数据之后,返回到原jsp页面,仍显示删除数据,该怎样处理?

jsp中如何清除缓存(转)

response.setHeader参数用法的介绍

如何用setHeader("refresh"...实现跳转?

jsp乱码