重裝我有,有一個logout"
按鈕的小程序。該按鈕通過調用CGI腳本結束會話,然後通過調用System.exit()
來殺死Java VM。問題是,當用戶試圖在同一瀏覽器窗口再次登錄 - 小應用程序失敗,ClassNotFoundException
加載:Java小程序無法在Internet Explorer
load: class lucent/fm/parts/BlankPage.class not found.
java.lang.ClassNotFoundException: lucent.fm.parts.BlankPage.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed:http://example.com/html/lucent/fm/parts/BlankPage/class.class
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more
Exception: java.lang.ClassNotFoundException: lucent.fm.parts.BlankPage.class
它只出現在Internet Explorer中,不能在Firefox。 Java插件是:
Java Plug-in 1.6.0_20
Using JRE version 1.6.0_20-b02 Java HotSpot(TM) Client VM
直接場景如下:
1.登錄到系統(負載小程序)。
2.註銷(它關閉小程序,但瀏覽器窗口仍然存在)。
3.單擊地址欄並按Enter鍵。
4.小程序無法加載,並且可以在Java控制檯中看到ClassNotFoundException
。
5.刷新頁面 - 服務器重定向到登錄頁面;登錄後,applet再次不加載並拋出異常。
尋找在Apache訪問日誌證明,在步驟4,瀏覽器(或插件)嘗試加載jar文件並得到一個HTTP錯誤。沒關係,因爲會話已經過期。奇怪的事發生在第5點 - 沒有要求罐子!看來瀏覽器或插件會記住失敗的嘗試,甚至不會嘗試加載jar文件。它只會嘗試加載未在服務器上存在的原始.class文件。
我的結論是否正確?我該如何處理這樣的錯誤?是否有可能強制Java插件加載jar文件?
我檢查了Java控制面板中啓用緩存並不能幫助。將codebase_lookup
參數設置爲"false"
也沒有幫助。它只能防止試圖直接加載"class"
文件。
在此先感謝您的任何建議。
你的錯誤看起來像是試圖加載名爲'lucent.fm.parts.BlankPage.class'的類,這是一個非法的類名(它應該是'lucent.fm.parts.BlankPage',我猜想) 。問題是,爲什麼你的瀏覽器/插件試圖加載這個類? – 2011-04-21 11:06:48
這是因爲HTML頁面:;我可以將其更改爲BlankPage而不是BlankPage.class,但它無濟於事。 根據官方文檔,類名應該帶有「.class」後綴:http://download.oracle.com/javase/6/docs/technotes/guides/plugin/developer_guide/using_tags.html – pkalinow 2011-04-21 14:22:42