Java Web Start 与 Java Applet

发布于 2024-12-09 20:04:09 字数 608 浏览 2 评论 0原文

我正在开发一个 Java 应用程序,我希望可以通过互联网使用该应用程序。然而,一些要求让我陷入了困境。这就是为什么我希望有经验的程序员提供一些意见。情况如下:

我有一个基本的虚拟主机, 有

  • mysql 数据库
  • 开放的 ftp 端口 (21)
  • 开放的 http 端口 (80)

但没有

  • 开放的 mysql 端口 (3306)
  • 开放的 ssh 端口 (22)

现在,我想构建一个应用程序 (Java Web Start或 Java Applet),它可以执行以下操作:

  • 通过互联网供多个用户使用
  • 与 mysql 数据库通信
  • 在本地文件系统和 Web 主机之间交换文档

现在您看到了问题:

  • 运行 Java Web Start 应用程序时,似乎无法连接到 mysql 数据库,因为 mysql 端口已关闭。
  • 运行 Java Applet 时,我似乎无法访问本地文件系统中的文件。

有人对这个问题有建议吗?

提前致谢!

汤姆

I'm working on a Java application which I want to be available over the internet. However, some requirements put me in a difficult situation. That's why I would appreciate some input of experienced programmers. The situation is as follows:

I have a basic webhost,
with

  • a mysql database
  • an open ftp-port (21)
  • an open http-port (80)

but without

  • an open mysql-port (3306)
  • an open ssh-port (22)

Now, I want to build an application (Java Web Start OR Java Applet) which can do the following:

  • Be available for multiple users over the internet
  • Communicate with mysql database
  • Exchange documents between local file system and webhost

Now you see the problem:

  • When running a Java Web Start application, it seems impossible to connect to the mysql-database because the mysql-port is closed.
  • When running a Java Applet, it seems I cannot get access to the files in the local file system.

Has anyone a suggestion to this problem?

Thanks in advance!

Tom

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我是男神闪亮亮 2024-12-16 20:04:09

我不会推荐这样的场景。

通过小程序和 Web Start,您可以向用户公开数据库用户名和密码。你可以混淆它们,但是它们仍然可以被逆向工程。

相反,您应该创建一个适当的静态 Web 服务来协调从数据库到客户端的连接。

I wouldn't recommend such scenario.

With applets and web start, you would expose the database user name and password to users. You could obfuscate them but, they could still be reverse engineered.

Instead, you should create a proper restful web service to mediate the connections from database to the clients.

愁杀 2024-12-16 20:04:09

当 Webstart 和 Applet 无法连接到数据库时,它们都将无法与数据库进行通信。事实上,如果可以的话那就非常糟糕了,因为应用程序必须包含数据库密码,每个有权访问该应用程序的人都可以提取该密码并对您的数据库造成严重破坏。这可能就是主机托管商不向互联网开放该端口的原因。

要使用数据库,您必须在 Web 主机上运行某种中间 Web 服务层。

Neither Webstart nor Applets will be able to communicate with the database when they can't connect to it. In fact, it would be very bad if they could because then the applications would have to contain the DB password, which everyone with access to the application could extract it and wreak havoc with your DB. Which is probably why the hoster does not open that port to the internet.

To use the database, you'll have to run some sort of intermediate webservice layer on the webhost.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文