当前位置 : 主页 > 编程语言 > java >

在JSP或Javascript中清除浏览器缓存中的图像

来源:互联网 收集:自由互联 发布时间:2021-06-25
我正在为大学开发一个JSP Web应用程序,并且在用户页面中显示了一个人员图片. 用户退出后,如何从Web浏览器缓存中清除此图片? 使用JSP或javascript 那是不可能的.最好的办法是完全禁用相
我正在为大学开发一个JSP Web应用程序,并且在用户页面中显示了一个人员图片.

用户退出后,如何从Web浏览器缓存中清除此图片?

使用JSP或javascript

那是不可能的.最好的办法是完全禁用相关资源的缓存.创建一个 filter,它在doFilter()方法中执行以下作业.

HttpServletResponse hsr = (HttpServletResponse) response;
hsr.setHeader("Cache-Control", "no-cache,no-store,must-revalidate");
hsr.setHeader("Pragma", "no-cache");
hsr.setDateHeader("Expires", 0);
chain.doFilter(request, response);

并将其映射到覆盖感兴趣图像的URL模式.

编辑:如果你真的不关心浏览器缓存中存在的图像,但你的具体问题是不同的登录用户基本上使用相同的图像URL,因为它是由一些servlet动态提供的,那么你也可以解决它通过为每个唯一用户提供唯一的图像URL.您可以通过将用户ID作为请求参数附加到图像URL,或将其包含在图像的路径中来完成此操作.

<img src="profileimage?id=${user.id}" />

要么

<img src="profileimage/${user.id}" />
网友评论