簡體   English   中英

Applet與mysql通信中的java.security.AccessControlException

[英]java.security.AccessControlException in applet communicating with mysql

我學校的編程俱樂部正在啟動補習程序,並且我建立了一個Java小程序,學生可以使用該小程序來請求會話。 該小程序與數據庫進行通信,該數據庫具有一個表,該表存儲教師的可用性,並向用戶顯示可用時間。

首先,我知道出於安全原因,讓applet直接與數據庫通信是一個壞主意。 話雖這么說,這是一種低風險的情況(數據庫中沒有存儲“敏感”內容),並且該解決方案只是暫時的(我們目前沒有能夠運行tomcat的服務器,因此需要完成所有工作)客戶端)。

小程序GUI正確加載,但是在初始化試圖訪問數據庫的類且未加載任何數據時,拋出java.security.AccessControlException ("java.lang.RuntimePermission" "setContextClassLoader")異常。 我怎么解決這個問題?

編輯:我已更改我的代碼,以便數據庫通信發生在與GUI相同的線程上。 現在我得到了這個異常:

Exception in thread "Thread-46" java.lang.NoClassDefFoundError: Could not initialize class com.mysql.jdbc.StringUtils
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:298)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at helpsessions.DBHandler.run(DBHandler.java:53)
at java.lang.Thread.run(Unknown Source)

小程序默認情況下具有非常嚴格的安全模型,為了擴展可用於小程序的功能,您將需要對小程序進行簽名,然后編寫具有所需擴展權限的更新的安全策略。

您的第二個問題-未找到類-是因為驅動程序未隨小程序一起分發。

我參考Java 1.1找到了這個。

如果使用小程序,則必須將這些JAR和類文件放在小程序的代碼庫目錄和/或存檔位置中

我不確定與Java的最新版本之間的相關性如何,但是我建議這是使驅動程序Jar可用於applet的最佳選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM