原創|使用教程|編輯:龔雪|2014-01-23 09:24:55.000|閱讀 277 次
概述:本文主要解釋Java Update 升級后,uploader無法正常工作的一系列問題以及如何解決問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
數月前,Oracle發布Java 7 Update 45時,便有不少開發者注意到一個奇怪的現象。如果用戶不更新Java,uploader便無法正常工作(即使1小時前還能正常工作)。
典型的癥狀是 - uploader開始發送空的請求。此癥狀的原因很簡單-Java阻止了LiveConnect模塊,而該模塊正是調用JavaScript的必要模塊。這樣一來,uploader設置無法初始化,因此它不知道是否需要發送原文件或縮略圖,最終uploader開始發送空的請求。
說來這個問題比較奇怪,但是解決的方法卻是非常簡單,只需要更新到最新的Java版本即可。Oracle會提示安裝Java Update 最新版本,然后問題便可得以解決。
不久前,隨著Java 7 Update 51的正式發布,上述情況又回來了。如果用戶還是使用Java 7u45,LiveConnect再次無法正常工作,直到用戶更新至Java最近版本。
由于Java 7u51比Java 7 Update 45更具破壞性,用戶盡量避免更新它,故而uploader又出現問題。
閱讀完Oracle網站上的幾篇文章后,終于發現為何會出現這樣的問題:
安全底線(Security Baseline)
所謂的Security Baseline,其實是專為Java而定義。簡單地說,安全底線(Security Baseline)是當前Oracle認為安全的最低Java版本。如果Java版本是最新的,Oracle會認為其處于安全底線之上,并且不會產生一些額外的問題干擾用戶。相反,如果Java版本低于其安全底線,Oracle會認為它存在潛在危險。
1、每一個Java update都包含了一個內置定時炸彈。在Java update發布的數月后,Oracle認為它是安全的(甲骨文會在發行說明中宣布每個Java update的具體到期日)。
2、此外,它會檢查Oracle服務器,并驗證安全底線是否更新。這樣一來,Oracle隨時都可以認為Java update已經過時。
如今,Oracle所認可的安全底線是Java 7 Update 51。這就可以解釋為何Java 7 Update 45又會出現問題。
Security Baseline(安全底線)和LiveConnect
當applet低于安全底線時,會發生什么情況呢?我沒有找到一個完整的列表,但很明顯,Oracle認為不該在此情況下使用Java小程序,所以它無法正常工作。
我試圖找出為何Java Update過期時,Oracle會阻止LiveConnect。閱讀完各種發布說明后,我發現從Java 7 Update 25開始,便有了這種機制,原文如下:
LiveConnect calls from JavaScript to Java API are blocked when the Java Control Panel security slider is set to Very High level, or when the slider is at the default High level and the JRE has either expired or is below the security baseline.
為了使Java uploader順利工作,唯一的方法就是更新Java。對于那些不愿更新Java版本的少數用戶,可以將安全級別更改至中等。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn