Java 只要我使用代理,HTML中的更改就不会反映出来

Java 只要我使用代理,HTML中的更改就不会反映出来,java,html,eclipse,proxy,jdeveloper,Java,Html,Eclipse,Proxy,Jdeveloper,我从Eclipse转到Jdeveloper。我有一个奇怪的问题,我能够解决,但无法理解 每当我在Jdeveloper的web项目中对HTML进行任何更改时,当我再次运行HTML时,这些更改都不会反映出来。旧网页不断出现在网络浏览器中。相同的源代码。同样的CSS/JS。我发现,只要我的web浏览器中有代理设置,更改就不会反映出来。但如果我关闭了代理,HTML中所做的更改将被反映出来,即网页将显示上次所做的更改 我所说的代理集是指放置在以下位置的代理集 窗口->开始菜单->互联网选项->连接->局域

我从Eclipse转到Jdeveloper。我有一个奇怪的问题,我能够解决,但无法理解

每当我在Jdeveloper的web项目中对HTML进行任何更改时,当我再次运行HTML时,这些更改都不会反映出来。旧网页不断出现在网络浏览器中。相同的源代码。同样的CSS/JS。我发现,只要我的web浏览器中有代理设置,更改就不会反映出来。但如果我关闭了代理,HTML中所做的更改将被反映出来,即网页将显示上次所做的更改

我所说的代理集是指放置在以下位置的代理集 窗口->开始菜单->互联网选项->连接->局域网设置->代理服务器

我尝试在谷歌浏览器、火狐浏览器和IE浏览器上运行生成的URL。只要web浏览器使用代理,就不会通过再次运行它来显示在HTML中所做的更改

在EclipseJuno中,我只需清理Tomcat的目录即可反映更改


任何人都可以解释为什么会发生这种情况?

这似乎与您的代理服务器类型有关。有几种代理服务器类型,其中一种是“”。如果有许多用户连接到它,它允许静态页面本地存储在服务器上,以便客户端(您)重复请求。当您更改代理时,由于您不是活动客户端,或者您是新用户,很可能只是向您发送更新的副本


我假设您正在构建的新软件上的内容正在预缓存保存的页面名称,而Eclipse Juno正在动态生成实时屏幕,绕过缓存服务器选项

Web服务器在每次响应时都返回HTTP头,这些头通常指定响应可以缓存多长时间。代理服务器读取这些头并在再次看到相同的请求时做出决定——是再次将该请求传播到服务器,还是简单地返回响应的缓存副本

您可以修改服务器的配置,以便下次它告诉代理服务器不要缓存页面时,服务器会自动进行配置。但是,某些代理服务器配置错误或损坏,将缓存它们不应该缓存的页面

对于这些情况,一个丑陋的解决方案是在您更改JS和CSS文件时给它们起新名称。例如,如果index.html文件包含index.css和index.js,并且您对index.js进行了更改,则可以将更改后的文件保存为index.2.js,并从现在起将index.html文件中的标记更改为指向index.2.js

这有点激烈,但它是有效的。一个简单的解决方案是使用Shift-F5刷新页面,而不仅仅是F5(在浏览器中)。这会告诉浏览器尽可能强制刷新所有缓存页面