我有一个问题,我正在尝试使用apache mod_jk使用worker来使用tomcat。
如果我使用类似http://server.internal:8080的内容更新我的表单,即tomcat,那么它工作正常,即屏幕上会显示更新,并且保留更新保留。
但是,如果我使用apache更新表单,即http://server.internal/,则会在数据库中看到更新,但刷新UI仅显示旧值,刷新5-10次后,UI会显示新值。
同样在刷新期间,它有时会显示旧值,而有时会显示表单中的新值。
我在Windows服务器上使用tomcat 7 + apache 2.2 + mod_jk。
我已禁用缓存模块,但仍然出错。
不确定在何处以及如何调试此类问题。
编辑---------
使用apache请求标头
Cache-Control no-cache,no-store,private,pre-check=0,post-check=0,max-age=0
Connection close
Content-Encoding gzip
Content-Length 10174
Content-Type text/html;charset=utf-8
Date Thu, 11 Dec 2014 19:39:36 GMT
Expires -1
Pragma no-cache
Server Apache/2.2.25 (Win32) mod_jk/1.2.40
Vary Accept-Encoding
使用tomcat请求标头
Content-Type text/html;charset=utf-8
Date Thu, 11 Dec 2014 19:43:43 GMT
Server Apache-Coyote/1.1
Transfer-Encoding chunked
使用apache的响应标头
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Cache-Control max-age=0
Connection keep-alive
Cookie JSESSIONID=7D3ACA49B478E8B3A126B37252B62481
Host server
User-Agent Mozilla/5.0 (Windows NT 6.0; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
使用tomcat的响应头
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Connection keep-alive
Cookie JSESSIONID=7D3ACA49B478E8B3A126B37252B62481
Host server:8080
User-Agent Mozilla/5.0 (Windows NT 6.0; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
看起来不是缓存问题,也尝试关闭KeepAlive
答案 0 :(得分:0)
我认为它与浏览器本地历史记录有关,请在浏览器中删除历史记录然后重试。目前它一切正常。
答案 1 :(得分:-1)
这绝对闻起来像是一个缓存问题。可以肯定的是,明确清除浏览器的缓存(或禁用它),看看是否有帮助。如果是的话,你可以
想在你的apache的httpd.conf
中添加这个(用与你的表单页面匹配的东西替换模式*/yourform.jsp
),以便将这些页面标记为“不可缓存”:
<Proxy */yourform.jsp>
Header unset Pragma
Header Always set Cache-Control: "no-cache,no-store,private,pre-check=0,post-check=0,max-age=0"
Header Always set Pragma: "no-cache"
Header Always set Expires "-1"
</Proxy>