2013-04-15 162 views
1

這裏清除緩存JRE動態地爲代碼:我怎樣才能在Java程序

<applet code="ATest.class" archive="ATest.class?v=200406181300"> 
</applet> 

我要清除現有的緩存和加載時第一次time.How我可以在java程序做加載新的?

我在Firefox 0.9中測試了它,並加載並運行了該類。這裏的想法 是當你改變這個類時,你改變了ARCHIVE 屬性中的[v] ersion。這應該強制瀏覽器獲得 文件的新副本,因爲「歸檔」現在位於不同的URI中,並且因爲「歸檔」是.class文件,所以它可能有效(除非用戶代理程序 無視存檔類,這是完全可能的)

+0

<小程序代碼= 「ATest.class」 歸檔= 「ATest.class?V = 200406181300」>如何調用它動態 – Manu

回答

2

我不認爲小程序可以這樣做。

但我不認爲它也需要。如果將v參數更改爲其他值不足以使瀏覽器請求該類的新副本,則將其放入JAR文件並安排每次要部署新的JAR文件的名稱時更改版。


我要指出,迫使瀏覽器,如果它沒有改變是一個壞主意,下載一類的新副本。它不會實現任何有用的。相反,它會浪費服務器和網絡資源,並且會使頁面加載速度變慢。

+0

沒有小應用程序 – Manu

+0

我使用這個代碼,以及我仍沒有得到新的副本.. – Manu

+0

你需要ŧ o每次要強制重新讀取時使用不同的JAR文件名;例如'http:// example.com/jar-v1.jar','http:// example.com/jar-v2.jar'等等。 –

0

首先,請閱讀你的問題:爲什麼要更新一個Applet,「何時加載第一次」?如果你的意思是第二次,當插件嘗試從它自己的緩存中加載它時,不僅僅是使用一個新的代碼庫,或許是每次訪問/或者新的代碼庫。