我正在为大学开发一个JSP Web应用程序,并且在用户页面中显示了一个人员图片. 用户退出后,如何从Web浏览器缓存中清除此图片? 使用JSP或javascript 那是不可能的.最好的办法是完全禁用相
用户退出后,如何从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}" />