Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 在js文件、视图文件或css文件中所做的更改不会反映给用户_Spring Mvc_Weblogic_Service Worker_Html5 Appcache - Fatal编程技术网

Spring mvc 在js文件、视图文件或css文件中所做的更改不会反映给用户

Spring mvc 在js文件、视图文件或css文件中所做的更改不会反映给用户,spring-mvc,weblogic,service-worker,html5-appcache,Spring Mvc,Weblogic,Service Worker,Html5 Appcache,我开发了一个具有多个视图的单页web应用程序。用于渲染这些视图,如果已使用ng 每个视图都有一个单独的控制器。使用Jquery处理了许多单击功能。对于后端,使用了java。整个应用程序是在SpringMVC中开发的,并部署在WebLogic上 问题是,每当我对视图或js文件进行任何更改时,在部署新的WAR文件后,如果不清除缓存并进行硬刷新Ctrl+F5/R,就不会反映出来 我在几分钟前得到了这个问题的答案,这个答案与ServiceWorker和appCache有关,但是答案列表中没有了。 有人知

我开发了一个具有多个视图的单页web应用程序。用于渲染这些视图,如果已使用ng

每个视图都有一个单独的控制器。使用Jquery处理了许多单击功能。对于后端,使用了java。整个应用程序是在SpringMVC中开发的,并部署在WebLogic上

问题是,每当我对视图或js文件进行任何更改时,在部署新的WAR文件后,如果不清除缓存并进行硬刷新Ctrl+F5/R,就不会反映出来

我在几分钟前得到了这个问题的答案,这个答案与ServiceWorker和appCache有关,但是答案列表中没有了。 有人知道这件事吗

我需要一个永久的解决方案,因为我有5000多个用户,我不能要求每个人在每次部署后都这样做


当我将其包含在index.jsp中时,我试图提供一个版本,比如filename.js?version=2.1。但这似乎对我不起作用。我没有在chrome或任何其他浏览器上测试过这一点,因为只有IE10,edge对我和用户都可用。

在导入的JS文件末尾添加查询只适用于客户端语言。 如果您使用的是JSP文件,您可以在文件的开头添加它,它将禁用缓存

<%
response.setHeader("Cache-Control","no-cache"); 
response.setHeader("Pragma","no-cache"); 
response.setDateHeader("Expires", -1);
%>
对于IE,您需要添加以下HTML标记:

<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 
<META HTTP-EQUIV="Expires" CONTENT="-1">
您可以在response.setDateHeaderExpires,-1;
有关更多信息,请参见

,正如您所建议的那样,它将禁用缓存,但会降低应用程序的速度,因为每次都会下载包含的文件。是吗?是的,但在setDateHeader中可以指定过期日期。有关更多信息,请参阅。可能重复的请参阅使缓存的响应无效和更新。此处建议更改文件名。添加随机查询字符串在过去对我很有效,尽管你说这不起作用。