2011-08-26 21 views
2

我試圖連接到一個MySQL服務器(這是在同一臺機器上,因爲在我連接到localost(我'使用Windows,並安裝了Apache,PHP,Mysql和phpmyadmin),但我可以很好地連接到在Netbeans中運行應用程序的服務器,但是如果我在瀏覽器中運行該小程序,它將無法連接,我收到此錯誤:Java - 可以在NetBeans連接到MySQL服務器,但不會作爲小程序

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:無法創建連接到數據庫服務器嘗試重新連接3次放棄

你有任何想法可能導致這個據我所知,。?它都連接到我的本地機器 馬上。可能是什麼問題,MySQL服務器或Apache或Java應用程序,我該如何解決它?謝謝。

我試圖簽署小程序,我認爲它簽了字,但直到給我這個錯誤。謝謝。

+1

我知道小程序沒有相同的訪問權限。也許你需要檢查,並啓用正確訪問priveleges –

+0

默認情況下,不可信任的小程序將無法做到這一點。谷歌的「小應用程序連接到數據庫」,似乎有一些指針。 –

+0

那麼我已經簽署了,或者你在談論別的什麼? – jlbergqvist

回答

1

默認情況下,Java強制執行與JavaScript的相同原則策略相似的內容:不受信任的小程序可能只能打開與下載服務器的網絡連接,但禁止跨域訪問。

爲了克服這個問題,需要對小程序進行簽名,但它本身還不足以授予擴展權限,您還必須明確說明您需要什麼權限。要測試它是否有效,請先嚐試授予AllPermission,之後您仍可以對其進行微調。

一個簡單的方法來授予的AllPermission是通過部署使用JNLP的小程序,添加

<security> 
    <all-permissions/> 
</security> 

您JNLP部署描述符。

下一步,確保由小應用程序所引用的所有罐使用的是相同的證書簽署。僅簽署applet Jar文件是不夠的。

在「Java控制面板」,確保在「高級/安全」,你

Allow user to grant permissions to signed content 

這應該解決這個問題。


一個簡單的檢查,看看簽字是否真的成功了:

開放的東西,如WinZip的Jar文件,轉到META-INF文件夾,檢查是否存在旁邊兩個附加文件MANIFEST.MF - 一個以.SF結尾,另一個最可能以.RSA結尾。

相關問題