Rest 无法使用正确的url';appcache文件中的

Rest 无法使用正确的url';appcache文件中的,rest,struts2,spring-security,html5-appcache,Rest,Struts2,Spring Security,Html5 Appcache,TL;DR-我认为struts/rest/spring安全性中的某些东西正在对我的清单文件的URL以及实际清单文件中的路径进行破坏,但是我找不到关于这可能是什么的任何信息 现在,完整的描述 我最近一直在做一个网站,为某些页面提供离线选项,但我被卡住了。似乎我无法按照我从文档和我看过的许多教程中所期望的方式使用URL 我正在使用带有Restful插件和Spring安全性的Struts2来服务和验证网站 这就是发生的事情。首先,我无法获取清单属性以提供绝对路径。它似乎总是坚持要成为一个相对人 我通过

TL;DR-我认为struts/rest/spring安全性中的某些东西正在对我的清单文件的URL以及实际清单文件中的路径进行破坏,但是我找不到关于这可能是什么的任何信息

现在,完整的描述

我最近一直在做一个网站,为某些页面提供离线选项,但我被卡住了。似乎我无法按照我从文档和我看过的许多教程中所期望的方式使用URL

我正在使用带有Restful插件和Spring安全性的Struts2来服务和验证网站

这就是发生的事情。首先,我无法获取
清单属性以提供绝对路径。它似乎总是坚持要成为一个相对人

我通过将标题设置为以下内容来解决此问题:

<html lang="en" manifest="0/appcache">
同样,在Chrome中,我从控制台得到以下错误:

Application Cache Progress event (0 of 8) http://localhost:8080/WLS/inspection/0/js/check-online.js
它似乎在使用manifest属性中的某种URL模式来确定从何处提取资源,事实上,如果我将
中的“0”更改为其他内容,chrome的输出也会更新为以这种方式运行

因此,我认为如果我可以从网站的根目录中读取manifest属性,而不是像现在这样做,那么我可以继续前进。或者,我可以在我的控制器中为我想要缓存的每个文件添加函数,这也可能会起作用,但是这个解决方案对我来说非常没有吸引力。我认为Rest/Spring与url的接口很奇怪,造成了一些困难

不用多说,这里是清单文件,尽管我不怀疑它与我遇到的问题有太大关系:

CACHE MANIFEST

# vesion 6

NETWORK:
onlineCheck.txt
*

CACHE:
js/check-online.js
styles/main.css
styles/reveal.css
styles/sectionsCustom.css
styles/jquery.dataTables.css
styles/jquery.selectBox.css
offline/

FALLBACK:
/user /offline
/public /offline
/ /offline/404

我这里的点子快用完了。任何帮助都将不胜感激。似乎我能找到的大多数教程和信息要么过于简化而变得有用,要么陈旧过时。

自从发布这个问题以来,我学到了很多关于缓存清单的知识。事实证明,这是一个充满悲伤和诡计的黑暗世界,然而,如果你努力,你可以活着度过

我做了几件根本错误的事情,还有一些事情让事情变得比必要的更困难

所以,我学到的是:

首先,Firefox的命令行工具的“appcache验证”功能似乎被破坏了,至少在mac上是这样。它将加载一个不同于页面加载的url——可能与struts和其他东西有关。无论哪种方式,这意味着,虽然firefox和chrome都做同样的事情,但firefox的调试工具说它在做其他事情

其次,使用struts服务这些文件只会使事情变得更加困难。我可以在我的项目根目录中创建一个包含我需要的任何清单文件的目录,然后直接使用该路径。同样,由于firefox的appcache验证中存在的问题,乍一看这似乎不起作用,但实际上起作用了

第三,虽然我还没有在任何地方看到这一点,但我相对确信情况确实如此,在NETWORK:section中不能同时包含“*”和其他内容。一定是其中一个。否则,“*”似乎会覆盖其他任何内容

进一步思考。我发现,在我的使用中,这一切都是通过创建一个非常简单的html页面来实现的,该页面只包含iframe中的清单,正如作者还提到的,希望使用起来不会那么痛苦,但是它们还不存在。如果有人最终读到这篇文章,我强烈建议在使用AppCache作为解决方案之前检查一下它们是否受支持

CACHE MANIFEST

# vesion 6

NETWORK:
onlineCheck.txt
*

CACHE:
js/check-online.js
styles/main.css
styles/reveal.css
styles/sectionsCustom.css
styles/jquery.dataTables.css
styles/jquery.selectBox.css
offline/

FALLBACK:
/user /offline
/public /offline
/ /offline/404