2011-07-19 57 views
0

这是我的另一个问题的更具体的版本。我创建了一个应该与我的MS Access数据库进行通信的小程序。当我通过编译器运行它时,它工作正常,但是当我将.class文件嵌入到html页面中并打开html页面时,它会运行,但它不会对数据库实际发生的任何更改发生,也无法检索来自数据库的数据。我最终将发布这个HTML文件到一个安全的网络。小程序应该直接与计算机上的数据库进行通信,而不需要servlet /套接字/等(尽管这应该不是很好的做法)。如果不同的计算机访问html页面,它应该能够运行applet并对主机上的数据库进行更改,但它不需要允许applet对其自己的文件进行任何特殊访问,因为它们没有被更改,只有主机上的数据库是。所以我认为没有理由使它成为一个已签名的applet,因为这将使applet能够对任何计算机进行更改,而不仅仅是自己的计算机。我运行Vista,因此策略工具不可用。Applet + MS Access

注:HTML文件,类文件和Java源文件都是我在同一个文件夹中的计算机上,这是它会留的方式。该html文件尚未发布,我自己创建它来测试applet。

+1

[使用嵌入在HTML页面中的小应用程序与数据库进行通信]的可能重复(http://stackoverflow.com/questions/6754117/using-an-applet-embedded-in-html-page-to-communicate-与数据库) –

+0

我投票结束这个问题。如果需要,最好用附加信息编辑原始问题。 –

回答

-1

我以前曾经尝试过这种事情。我认为你的问题在于applet的本质。

小程序下载,并通过客户端机器上运行,所以如果服务器上存在您试图访问的数据库,客户端可能没有访问服务器上的数据库位置。众所周知,来自客户端机器的代码是不可信的。

它可能会更容易重写你的页面作为一个servlet,作为servlet住在服务器上,并可能具有对数据库的访问。然后您的servlet可以发送html并在客户端和服务器之间来回接收表单数据。

如果你的心脏上设置一个小程序的前端,您可以发送HTTP消息回一个servlet这将随后进行数据库操作。这个选项将更加安全并且更容易实现许可。

希望这会有所帮助,让我知道如果您有其他问题。

+0

谢谢Erik。我的心被安装在一个applet上,但我也研究了servlet,因为修改我的代码结构可能会更简单。现在的问题是我试图导入javax.servlet。*,但DrJava声称这个包不存在。另外,我还有一种印象:由于没有GUI,servlet不可能成为前端。 – joseph

+1

@MrTuesday -1 *“我认为你的问题在于小程序的本质,......客户端可能无法访问服务器上的数据库位置。”*一个沙盒小程序可以很容易地“回家”给它自己的服务器(包括一个数据库)。你的帖子中有太多的错误,“你甚至没有错”。 *“如果您还有其他问题,请告诉我。”*在提供任何其他答案之前,请详细了解小程序。 –

+1

StackOverflow的人在他们的评论中往往很难... –