java - 使用 JApplet 连接到 SQL

标签 java swing applet japplet securityexception

我正在尝试使用 JApplet 连接到 SQL 数据库。但是,我得到一个 SecurityException:

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: java.security.AccessControlException: access denied ("java.net.SocketPermission" "162.243.229.150:3306" "connect,resolve")

STACKTRACE:

java.net.SocketException: java.security.AccessControlException: access denied ("java.net.SocketPermission" "162.243.229.150:3306" "connect,resolve")
    at com.mysql.jdbc.StandardSocketFactory.unwrapExceptionToProperClassAndThrowIt(StandardSocketFactory.java:407)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:268)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:270)
    at me.nrubin29.cubesorter.MySQL.setup(MySQL.java:24)
    at me.nrubin29.cubesorter.MySQL.access$100(MySQL.java:8)
    at me.nrubin29.cubesorter.MySQL$1.run(MySQL.java:35)
    at java.lang.Thread.run(Thread.java:744)


** END NESTED EXCEPTION **



Last packet sent to the server was 1 ms ago.
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:270)
    at me.nrubin29.cubesorter.MySQL.setup(MySQL.java:24)
    at me.nrubin29.cubesorter.MySQL.access$100(MySQL.java:8)
    at me.nrubin29.cubesorter.MySQL$1.run(MySQL.java:35)
    at java.lang.Thread.run(Thread.java:744)
Exception in thread "Thread-38" java.lang.NullPointerException
    at me.nrubin29.cubesorter.MySQL$1.run(MySQL.java:38)
    at java.lang.Thread.run(Thread.java:744)

我试过使用 AccessController#doPrivileged ,但这没有帮助。如何授予对我的小程序使用套接字的权限?

最佳答案

查看这些:

java.net.SocketPermission in Applet

Can signed applets connect with a different host from which they originate?

如果你的小程序没有签名,你需要确认你的小程序
从它试图打开套接字的服务器加载。
然后这将起作用。

关于java - 使用 JApplet 连接到 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23303259/

相关文章:

java - 将 jardesc 内容翻译成 jar 命令

Java:使用计时器移动 jLabel 两次

java - 使用 JButtons 的微型像素艺术程序

java - 使用 Apache 的 HttpClient 与使用 JDK 的 URLConnection 从 applet 中连接到 URL

java - Internet Explorer 6 中的 "Unknown Name"JSException 是什么?

java - 将 Java Applet 限制为只有一个实例

java - 文本分类分类器

java - 正则表达式以大写字母开头且长度 < 70

java - ClassNotFoundException : org. flywaydb.core.api.callback.FlywayCallback

java - 为什么绘制多个对象时 JFrame 会出现故障?