研究生進入實驗室項目後,開始用Google的Gwt進行Ajax的應用程式開發。開發環境採用eclipse3.6+GAE2.2,從開始使用,就碰到一些很奇怪的問題,去網上搜也沒人解答,每天在那裡實驗不斷和項目組一個童鞋研究,找到了問題的根源,在這裡總結出來,以供大家遇到類似問題作為參考。
上述這兩種問題一般由同一個原因引起,那就是在Dev mode下瀏覽器上訪問頁面時,server上訪問的是別的以前曆史的application的頁面,所以會出現找不到資源404 Error,對於在java代碼中添加的斷點,當前訪問的是這個application的曆史資料,那個曆史資料中可能java代碼中還沒有添加斷點,所以每次運行時不能進入調試。
結合下面這幅圖進行說明:
圖中第一行顯示的 時間是下午02:49分,但運行程式的時間實際上是晚上,也就是說你現在啟動並執行是前面的曆史資料,所以會出現訪問不到現在最新的資源,因而出現404 Error。
解決方案:
如何解決上面說的那種錯誤呢?
引起那個錯誤的原因在於你每次訪問一次,development mode都會有一個instance,如果你每次運行一次,下次重新運行另外一個project,則會出現的情況:
上面有兩個運行過的insatnce:HelloWorld和Test..每次運行結束之後,我要重新一個新的project時,沒有terminate那個剛才啟動並執行instance,每次這樣重複著,隨著你的項目的增多,instance的數量增多,所以每次訪問當前運行project的頁面資源時,可能就會發生上面的404 錯誤,因為其實伺服器上訪問的還是之前的曆史資料(可能是別的project的),所以,每次運行完一個project後,最後在上面右邊那個terminate將其終止,保證左邊list中的所有運行過的instance是終止的。如所示:
這時候運行一個project就不會出現上面所說的錯誤,保證訪問到資源資料都是當前最新的資料。
BTW:左邊被終止到的list其實可以在右邊紅點旁邊那個進行刪除。
對於遇到的上面兩種問題,進行了問題跟蹤和總結,解決方案供大家參考!希望可以幫到大家~~O(∩_∩)O~