<%@ 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)
<%@ page import="java.util.*"%>
<html>
<head>
</head>
<body>
<img id="img" src="${param.path}? <%=new Date()%>" > </img>
</body>
</html>
上面的语句是从服务器上取得最新的图片资源,如果把 <%=new Date()%>去掉,
得到的就是以前的缓存内容,请问这是为什么?
(后面用的是tomcat, struts)
由于加了“? <%=new Date()%>”,每次的路径不同了,他就要重新把该路径加入缓存了;
所以你刷新一次就多一个缓存,以前的还在,并没有清空!!!!
浏览器每次去读取图片是发现url没变化就去浏览器缓存中取
如果url变化了就到服务器去取
lz后面加上时间后每次url都变化了
也可以加个随机数
原理都一样