【问题标题】:Reload JS and CSS files on Jetty Server在 Jetty Server 上重新加载 JS 和 CSS 文件
【发布时间】:2018-05-02 19:36:29
【问题描述】:

我正在使用 Jetty 服务器。到目前为止,一切进展顺利。主要问题是当我对我的 css 和 js 文件进行更改时。 Jetty 继续为它们的旧副本提供服务。在某些时候,它开始提供正确的服务,但它需要很长时间才能发生。

我尝试按照此处的建议进行操作 - https://blog.michaelscepaniak.com/jetty-auto-reload-javascript-and-css-files - 但没有用。

任何建议将不胜感激。

谢谢

【问题讨论】:

  • 您确定缓存的副本来自 Jetty,而不是浏览器或其他来源?
  • 如何查看副本的存储位置和来源?
  • 您可以使用 Chrome 开发工具中的网络选项卡来确定文件是否从缓存中加载。详情请见this answer
  • 是的,它来自它应该来自的地方。请求 URL:localhost:9001/WAR/views/css/nestable/spriteSetStyle.css 请求方法:GET 状态码:200 OK(来自磁盘缓存)
  • (来自磁盘缓存)表示您从浏览器获取缓存副本,而不是从 Jetty 服务器。

标签: javascript css jetty


【解决方案1】:

根据您从 Chrome 开发工具中看到的内容,您将获得文件的浏览器缓存副本。您需要向 Jetty 表明它应该向客户端发送无缓存标头。您可以找到解决方案here

【讨论】:

  • 默认 Jetty 配置没有缓存控制标头或 etag,您必须专门做额外的工作才能启用这些功能。如果 OP 没有为缓存控制/etags 配置,并且他们看到了这些响应标头,那么 Jetty 控制之外的东西正在设置这些标头。 (例如:球衣/弹簧静态文件服务)
猜你喜欢
  • 2016-03-25
  • 2012-01-02
  • 1970-01-01
  • 2015-05-21
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多