我使用访问数据库的Netbeans 6.5.1创建了一个JApplet。程序自行运行时,运行完美。问题是当您尝试使用Netbeans中的Web应用程序将其联机时,它将无法访问数据库。有人告诉我,问题是Java安全性不允许你这样做。它是否正确?我该如何解决这个问题?感谢。

有帮助吗?

解决方案

如前所述,未签名的小程序只能与发起小程序的主机建立网络连接。但是,如果数据库托管在与原始applet不同的服务器上,则必须使applet签名。如果应用程序不用于生产用途,您可以对applet进行自签名(不适用于必须由可信证书颁发机构进行签名的生产用途。证书颁发机构通常会对验证其客户凭据的服务收取费用。但是,出于测试和演示目的,您可以创建自签名证书。使用自签名证书时,浏览器会向用户显示警告,提示自签名证书中提供的信息尚未由受信任的第三方(证书颁发机构)验证。

对于自签名小程序,请查看以下链接:

http://java.sun.com/developer/onlineTraining /Programming/JDCBook/signed.html

http:// www-personal。 umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html

要记住的其他事项是要使用的JDBC驱动程序类型。 Type-1和Type-2驱动程序不适合在applet中使用,因为它们依赖于本机二进制代码。 Type-3和Type-4是您应该用于从applet中连接到数据库的那些。

最好的解决方案是不要从applet建立数据库连接(如果可能),而是使用服务器端应用程序代表applet连接到数据库。

其他提示

正如Clint所指出的,applet只允许连接到它的原始服务器。 要解决这个问题,您可以使用来自根权限的证书对您的applet进行签名,但证书的成本为200-400美元/年。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top