[英]Debugging java applet in browser - works in Eclipse but not browser
[英]applet with swing mysql and a config file works in eclipse but fails in browser
嗨,這可能是因為我是菜鳥,但我現在想讓它工作幾天,所以希望有人能幫助我...。
想法:對於Java培訓,我需要制作一個Java 小程序 ,該程序可以從(本地)MySQL數據庫讀取和寫入數據。 該數據庫中的設置必須來自config.ini文件。
該應用程序可以在Eclipse中作為applet和Java應用程序正常運行。 它也可以作為可執行jar文件正常運行。
我不能讓它作為小程序運行... :(。
我遇到的第一個錯誤是有關讀取config.ini文件的。 我預計會由於安全限制(io)而發生這種情況。 這是需要解決的問題,但不是我目前主要關注的問題。
為了查看其余部分是否有效,我跳過了loadIni類。 然后我得到了:未找到驅動程序異常。 我通過將mySQL jar作為檔案加載到applet()中解決了這一問題。
但是現在我迷路了...
當我在瀏覽器中啟動小程序時,在控制台中出現以下錯誤:
java.lang.RuntimeException: java.lang.ExceptionInInitializerError
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.instantiateApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Kreta.DBConnection.<init>(DBConnection.java:39)
at Kreta.AfhaalMenus.<init>(AfhaalMenus.java:21)
at Kreta.test2.<init>(test2.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter$1.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission"
"file.encoding" "read")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at sun.plugin2.applet.AWTAppletSecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at com.mysql.jdbc.StringUtils.<clinit>(StringUtils.java:70)
... 31 more
我真的希望有人可以向正確的方向發送我。
Applet不允許做很多事情,包括文件I / O和各種聯網任務。 當您的小程序試圖做一個。 您可能需要在小程序上簽名。
檢查此參考
http://www.coderanch.com/how-to/java/HowCanAnAppletReadFilesOnTheLocalFileSystem
AccessControlException
。 綜上所述,未簽名的代碼可能要在加載之前就被阻塞,所以您應該做的第一件事就是對小程序和所有必需的庫進行數字簽名。
為什么要編寫小程序? 如果是由於規格。 請向老師介紹為什么CS老師應該停止教Java小程序 。 使用標准的桌面應用程序會更容易做到。 使用Java Web Start啟動 。 安全環境將相同,但是是自由浮動的應用程序。 是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.