我遇到了以下問題:我有一個web應用程序,它有一個使用ajax從servlet請求更新列表的html頁面(想法是我希望一個用戶能夠看到其他修改用戶在名單上做)。爲什麼Servlet,.html文件在服務器重啓後沒有更新?
問題是,即使在重新啓動服務器之後,我對servlet代碼和.html文件所做的更新也沒有考慮到。我試圖用各種方式解決這個問題,從清理項目到創建另一臺服務器,大約兩個小時後我找到的解決方案是刪除臨時互聯網文件和網站文件。不過,我仍然需要每做一次修改代碼。
然後我發現了一個新問題(實際上是第一個問題的後果)。從我的.html文件中,我使用javascript setInterval(...)方法在servlet上執行ajax請求,但只有第一個請求被執行,然後,直到我再次清理臨時文件,它看起來像只是保持初始化響應,即使列表已更新。我知道我的代碼沒有錯,因爲我在servlet上打印了屏幕,並且我可以看到doGet(...)只被調用一次。如果我在程序執行期間刪除臨時互聯網文件,再次調用doGet(...),.html被正確更新並且一切正常。
那麼爲什麼會發生這種情況,是否有解決問題的方法?我相信eclipse/tomcat以某種方式緩存信息,但可以禁用它(我使用eclipse juno 4.2.1,apache-tomcat-7.0.47,並且我直接從eclipse部署項目)。此外,這個問題並沒有發生從開始,它曾經工作正常,我不知道我改變了什麼導致它停止工作。
確實,我總是發送相同的GET請求,問題現在已解決。感謝您指出。 –