加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax与JSP防止缓存

发布时间:2020-12-16 00:50:27 所属栏目:百科 来源:网络整理
导读:一:清除AJAX缓存的方法介绍: 1.在ajax发送请求前加上xmlHttp.setRequestHeader("If-Modified-Since","0"); 2.在ajax发送请求前加上xmlHttp.setRequestHeader("Cache-Control","no-cache"); 3.在Ajax发送的URL参数后加上随机数,如:"?fresh="+Math.random()/
一:清除AJAX缓存的方法介绍:
1.在ajax发送请求前加上xmlHttp.setRequestHeader("If-Modified-Since","0");
2.在ajax发送请求前加上xmlHttp.setRequestHeader("Cache-Control","no-cache");
3.在Ajax发送的URL参数后加上随机数,如:"?fresh="+Math.random()//此处的fresh参数可以任意取名
4.在Ajax发送的URL参数后加上时间戳,如:"?timestamp="+new Date().getTime()
5.用Ajax的POST方式代替GET方式.
6.在Ajax提交到的服务器端的java代码中使用如下代码:
Java代码
  1. publicActionForwardchange(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
  2. String idCard=request.getParameter("idCard");
  3. EntryService service = (EntryService) getBean("entryService");
  4. String result = service.enterType(idCard);
  5. response.setContentType("text/xml;charset=utf-8");
  6. //ajax 指示IE浏览器(客户端)不要缓存页面,服务器端的JSP程序可以编写如下
  7. response.setHeader("Pragma","No-cache");
  8. response.setHeader("Cache-Control","no-cache");
  9. //Expires实体报头域给出响应过期的日期和时间。为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。
  10. response.setDateHeader("Expires",0);
  11. PrintWriter out =response.getWriter();
  12. out.write(result);
  13. out.close();
  14. return null;
  15. }
public ActionForward change(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception { response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0); .......................................... .......................................... .......................................... }


二:JSP页面禁止缓存方法介绍:
1.使用java提供的方法,在JSP或者servlet中都可以使用如下代码:
Java代码
  1. <%
  2. response.setHeader("Pragma","No-cache");
  3. response.setHeader("Cache-Control","no-cache");
  4. response.setDateHeader("Expires",0);
  5. %>
<% response.setHeader("Pragma",0); %>


2.使用HTML标记,如下面:
Java代码
  1. <HEAD>
  2. <METAHTTP-EQUIV="Pragma"CONTENT="no-cache">
  3. <METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache">
  4. <METAHTTP-EQUIV="Expires"CONTENT="0">
  5. </HEAD>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读