【问题标题】:How can you access a MySQL database from the web without using a servlet or PHP?如何在不使用 servlet 或 PHP 的情况下从 Web 访问 MySQL 数据库?
【发布时间】:2010-11-28 05:24:51
【问题描述】:

我目前使用的托管服务为用户提供对 MySQL 数据库的访问权限,但不提供 Tomcat 服务器或任何其他方式来执行服务器端处理。所以三层设计就出来了。

作为 Java 和 Javascript 的新手,我计划在这个项目中使用它们来获得更多经验。我对 PHP 一无所知,我听说这可能是我的问题的解决方案。有谁知道如何使用 Java/Javascript 从浏览器客户端访问 MySQL 数据库?

谢谢, 标记

【问题讨论】:

  • Java 之于 JavaScript 就像 Car 之于 Carpet。
  • 我觉得奇怪的是您的托管服务提供 MySQL 但没有服务器端“处理”(不确定您的意思是什么)。 PHP是服务器端的。 ASP、ASP.NET、Perl、Python 等也是如此,它们都应该能够连接到您的 MySQL 数据库。
  • 咳咳……alphaworks.ibm.com/tech/dbcjs JavaScript 的数据库连接。我没有在任何地方提及安全漏洞吗?

标签: java javascript mysql webclient


【解决方案1】:

Javascript 在沙箱中运行,不能做诸如打开文件、连接到 MySQL 数据库之类的事情。尽管名称相似,但 Java 和 Javascript 没有任何共同之处。

PHP 和 Java 都是服务器端系统,它们都能够连接到 MySQL 数据库。

【讨论】:

    【解决方案2】:

    PHP 确实是服务器端的,但许多不提供 JSP、ASP 等的 ISP 却提供 PHP。所以这实际上可能对你有用。我想简短的回答是:确切地找出可用的工具。如果您的 ISP 没有提供任何满足您需求的东西,请寻找另一个 ISP。我在一个向我收费的 ISP 上运行多个 JSP/servlet 站点,我认为每月收费 8 美元。

    【讨论】:

      【解决方案3】:

      Java 可以通过 TCP 访问 MySQL ... JavaScript 没有浏览器 API 允许 TCP,因此 JavaScript 不是一个选项,除了服务器端 JavaScript ...如果您真的想要直接连接,Java 可能是您的选择。 .. 您可以创建一个 Java 小程序,它将连接到远程 MySQL 守护程序,使用...您可能必须sign it,以防默认沙箱不允许这种通信...

      或者,理论上你可以使用 FlashPlayer 9+,但你必须在 ActionScript 3 或 Haxe 中实现整个协议,所以我猜这不是一个选择......

      但是,您不想要的 3 层设计确实是最好的选择,原因如下:

      • 灵活性:如果您在客户端和数据库之间引入一个额外的层,这将为您以后的修改和解耦客户端和数据库提供更多的权力...
      • 控制:控制/限制对数据库的访问要容易得多
      • 安全性:通常,您会配置 MySQL 数据库,以便它只接受来自极少数主机的连接,通常只接受本地主机,也可能是一台外部服务器……这样,您的数据库的安全性实际上就是外部服务器的安全性,因为可能没有其他人甚至知道数据库......我不会说保护服务器很容易......但它比如果你有许多公共帐户更安全,可以从任何访问数据库主机,通过不安全的连接...

      【讨论】:

        【解决方案4】:

        您的 MySQL 安装应该有一个与之关联的主机名和端口。您可以通过不同的程序连接到该主机/端口(在其他地方运行,因为您提到它在此处不可用)。您可能可以在允许您这样做的地方编写脚本并通过网络连接访问数据库。

        【讨论】:

        • 是的,尽管在数据库服务器周围设置防火墙是很常见的,因此无法从建筑物外部访问它。另一件事要检查。
        【解决方案5】:

        所以您的托管公司提供了 MySQL 数据库,但没有运行时以编程方式访问/修改它?!那是毫无价值的边缘。你确定你知道你在说什么吗?

        【讨论】:

        • 说得不是很圆滑,但基本正确。如果 ISP 提供 MySQL,他们几乎肯定会提供一些方法来创建访问它的页面。你只需要找出什么。 ISP 可能是疯了,提供了毫无价值的工具,但可能不是。
        猜你喜欢
        • 1970-01-01
        • 2017-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多