Java 从服务器上的小程序连接到sql数据库时,您使用的是本地主机还是实际的ip地址

Java 从服务器上的小程序连接到sql数据库时,您使用的是本地主机还是实际的ip地址,java,mysql,applet,mysql-connector,connector-j,Java,Mysql,Applet,Mysql Connector,Connector J,我正在尝试从java小程序连接到我网站上的数据库。 当我从eclipse尝试时,它说存在通信链路故障,并且驱动程序没有从服务器收到任何数据包。这是因为只有实际服务器上的小程序才能连接到数据库吗 所以我把它导出为一个罐子,我亲自签名并上传到我的网站上。然后使用嵌入标签,我把它放在我的网页上 <div id="blah"> <embed id="Math" type="application/x-java-applet" width="810" height="600"

我正在尝试从java小程序连接到我网站上的数据库。 当我从eclipse尝试时,它说存在通信链路故障,并且驱动程序没有从服务器收到任何数据包。这是因为只有实际服务器上的小程序才能连接到数据库吗

所以我把它导出为一个罐子,我亲自签名并上传到我的网站上。然后使用嵌入标签,我把它放在我的网页上

<div id="blah">
<embed id="Math"
   type="application/x-java-applet"
   width="810" height="600" 
   archive="mathG.jar,mysql-connector-java-5.1.23-bin.jar"
   code="com.mathg.math.MathG"
   codebase="test"
   pluginspage="http://java.com/download/"/>

这是将小程序放到站点上的正确方法吗?小程序出现了,它在网页上工作,但当我按下按钮连接到数据库时,它说它无法连接


我尝试在java代码中同时使用localhost和实际ip进行连接,但两者都不起作用。

最好使用数据库服务器的ip地址;localhost应仅用于快速和脏本地测试。您不太可能在本地主机上部署应用程序或数据库

这是一个非常糟糕的主意。任何小程序都不能从internet直接访问数据库。所有这些数据都公开了


更好的办法是在applet和数据库之间放置一个servlet。通过向internet公开servlet来部署它;将数据库放在防火墙后面,只打开它到servlet的端口。让servlet处理身份验证、验证、绑定以及与数据库的交互。用户使用这种设计会更好。

因此,如果我使用servlet,我是否能够通过eclipse中的servlet访问数据库中的值?或者我总是必须把它放在网站上才能看到输出?当然,您必须部署servlet。您可以在Eclipse中启动Tomcat。我不明白IDE与这个问题有什么关系。所以servlet是在服务器上运行的,对吗?用户不需要安装tomcat?我不知道“用户”这个词。您必须在某个服务器上运行的Tomcat上部署servlet。用户将联系该服务器以获取applet,applet将连接回它与servlet对话的服务器。