<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<%@ page import="java.util.*"%> 
<html> 
<head> 
</head> 
<body> 
<img id="img" src="${param.path}? <%=new Date()%>" > </img> 
</body> 
</html> 
上面的语句是从服务器上取得最新的图片资源,如果把 <%=new Date()%>去掉, 
得到的就是以前的缓存内容,请问这是为什么? 
(后面用的是tomcat, struts)

解决方案 »

  1.   

    <meta   http-equiv="Cache-Control"   CONTENT="no-cache">
      

  2.   

    <meta  http-equiv="Cache-Control"  CONTENT="no-cache">对于禁止图片缓存不好用,还是我在网上找的那个例子可以用,但不知道为什么那样写后,就可以禁止图片缓存?
      

  3.   

    如果你只是刷新的话, param.path不会变, 图片怎么会变呢
      

  4.   

    哦,我可以告诉你,并不是“就可以禁止图片缓存”,而是加入了一个新的缓存,同一个路径的话找到的是同一个图片(在缓存里),
    由于加了“? <%=new Date()%>”,每次的路径不同了,他就要重新把该路径加入缓存了;
    所以你刷新一次就多一个缓存,以前的还在,并没有清空!!!!
      

  5.   

    参数是图片url的一部分
    浏览器每次去读取图片是发现url没变化就去浏览器缓存中取
    如果url变化了就到服务器去取
    lz后面加上时间后每次url都变化了
    也可以加个随机数
    原理都一样