SQLデータベースを使用する単純なアプレットを作成しています。
このアプレットをNetbeansでローカルに使用すると、問題なく動作しますが、Webにデプロイすると、奇妙なエラーが発生します。
ローカルでJava1.6を使用しており、デプロイするサーバーでJava1.6を実行しています
。J2BC5.1.22を使用しています。
これは私が得るエラーです:
java.lang.ExceptionInInitializerError
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:315)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at FinalProject.DBConnect.<init>(DBConnect.java:29)
at FinalProject.TriviaApplet.init(TriviaApplet.java:61)
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.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 java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at com.mysql.jdbc.StringUtils.<clinit>(StringUtils.java:70)
ドライバーを初期化するために使用するコードは次のとおりです。
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(connectionURL, "db", "pw");
なぜこれが起こっているのかについて誰かが洞察を持っていますか?
さらに、私のアプレットは別のクラスからすべての情報を取得します。^上記はDBConnectクラスからのものです。このクラスのインスタンスが作成され、このクラスがすべてのDB作業を実行します。これをアプレットとして実行する必要がありました。jarとJDBCドライバーを含むlibjarの両方に署名しました。