嗨,这可能是因为我是一个菜鸟,但我现在试着让它工作好几天,所以希望有人可以帮助我....
这个想法: 对于java培训,我需要创建一个Java applet ,它从(localhost)MySQL数据库读取和写入数据。此数据库中的设置必须来自config.ini文件。
应用程序在Eclipse中作为applet和java应用程序运行良好。 它也可以作为可执行的jar文件运行。
我不能让它作为applet运行但是...... :(。
我得到的第一个错误是关于读取config.ini文件。我希望这是因为安全限制(io)。这是需要解决的问题,但不是我现在主要关注的问题。
为了查看其余部分是否有效,我跳过了我的loadIni类。然后我得到了:驱动程序未找到异常。 我通过在我的applet()中加载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
我真的希望有人能把我送到正确的方向。
答案 0 :(得分:1)
小程序不允许执行许多操作,包括文件I / O和各种网络任务;因为您的applet正在尝试做一个。您可能需要在applet上签名。
检查此参考
http://www.coderanch.com/how-to/java/HowCanAnAppletReadFilesOnTheLocalFileSystem
答案 1 :(得分:0)
答案 2 :(得分:0)
AccessControlException
的属性文件(来自原始服务器)。说了这么多,它已经进入了无条件代码在加载之前可能被阻止的阶段,所以你应该做的第一件事就是对applet和所有必需的库进行数字签名。
为什么要编写applet?如果是由于规格。请老师将其转介给Why CS teachers should stop teaching Java applets。使用标准桌面应用程序会更容易。使用Java Web Start启动。安全环境将是相同的,但是一个自由浮动的应用程序。是: