请问 用ssm框架 写网页 为什么浏览器打开每次都是读取缓存 ,不会立刻显示更新后得程序
怎么办 我已经在拦截器写了这几句 还是不行 还是每次都要手动清除浏览器缓存
SSM框架写WEB 如何让他浏览器每次打开都不去读取缓存 而是显示最新的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
在SSM(Spring、Spring MVC、MyBatis)框架中,为了让浏览器每次访问都获取最新的内容而不是缓存中的数据,您可以在服务器端和客户端两个层面进行设置:
服务器端控制 HTTP 缓存头部: 确保您的 Spring MVC 拦截器或控制器返回响应时设置了正确的 HTTP 缓存控制头部。以下是一个示例,在拦截器中添加响应头以禁用缓存:
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.time.LocalDateTime; public class NoCacheInterceptor implements HandlerInterceptor { @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { // 设置禁止缓存的响应头 response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1 response.setHeader("Pragma", "no-cache"); // HTTP 1.0 response.setDateHeader("Expires", 0); // Proxies } }
然后需要将这个拦截器注册到 Spring MVC 的配置中,如下所示(假设你正在使用 XML 配置):
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- ... 其他配置 ... --> <mvc:interceptors> <bean class="com.example.NoCacheInterceptor"/> </mvc:interceptors> </beans>
客户端提示不使用缓存: 对于动态内容,上述服务器端设置通常足够了。然而,为了进一步确保浏览器不会缓存静态资源(如 CSS、JavaScript 和图片),也可以在它们的URL后面加上版本号或者时间戳。
例如,在HTML文件中引用JS文件:
<script src="/static/js/main.js?v=<?= $version ?>"></script>
这里的
$version
可以是一个实际的版本号或者是当前的时间戳,这样每次修改资源后,由于URL不同,浏览器会认为是新的资源并重新加载。总结一下,通过正确设置HTTP响应头以及合理地处理静态资源的版本更新,您可以有效地解决浏览器缓存问题,确保用户每次都能看到最新的网页内容。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
- ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
- ¥200 C++表格文件处理-悬赏
- ¥15 Windows Server2016本地登录失败
- ¥15 复合卡卡号轨道写入芯片卡
- ¥20 基于MATLAB的TDOA
- ¥15 为啥输入字体突然变了
- ¥20 已知坐标,换成MATLAB可以用的数据
- ¥15 这个python五子棋代码的每一句意思是什么啊
- ¥15 求一段隐藏代码,隐藏一些内容