Java 小程序在浏览器中运行时未从MySQL数据库读取数据
我创建了一个JavaApplet类,它从数据库中读取数据,然后在applet中显示。程序运行正常,当我从EclipseIDE运行它时,我会获取数据,但当我使用html代码从浏览器运行它时,它会运行,但不会从数据库获取数据。这是我使用的代码Java 小程序在浏览器中运行时未从MySQL数据库读取数据,java,sql,database,applet,Java,Sql,Database,Applet,我创建了一个JavaApplet类,它从数据库中读取数据,然后在applet中显示。程序运行正常,当我从EclipseIDE运行它时,我会获取数据,但当我使用html代码从浏览器运行它时,它会运行,但不会从数据库获取数据。这是我使用的代码 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import ja
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JApplet;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import javax.swing.JLabel;
public class Driver extends JApplet {
private Connection connect = null;
private Statement statement = null;
private PreparedStatement preparedStatement = null;
private ResultSet resultSet = null;
private JLabel lbl = null;
private String label;
public void init() {
try {
try {
// this will load the MySQL driver, each DB has its own driver
Class.forName("com.mysql.jdbc.Driver");
// setup the connection with the DB.
connect = DriverManager
.getConnection("jdbc:mysql://localhost/jdbc?"
+ "user=root&password=");
// statements allow to issue SQL queries to the database
statement = connect.createStatement();
// resultSet gets the result of the SQL query
resultSet = statement
.executeQuery("select * from jdbc.info");
// writeResultSet(resultSet);
while (resultSet.next()) {
String user = resultSet.getString("id");
String name = resultSet.getString("name");
label = user +" "+ name;
}
} catch (Exception e) {
throw e;
} finally {
// close();
}
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
lbl = new JLabel(label);
add(lbl);
}
});
} catch (Exception e) {
System.err.println("createGUI didn't complete successfully");
}
}
public static void main(String[] args) throws Exception {
Driver dao = new Driver();
dao.init();
}
}
这是HTML代码
我的第一个应用程序正在从db重新启动
我的第一个应用程序从db重新启动
有人能帮我找到小程序为什么不从本地wamp服务器上的数据库中读取数据吗。它们是我必须添加.Class才能运行的特定目录吗?想象有人在example.org上部署了一个小程序。从浏览器中,您可以访问example.org并执行代码(localhost现在实际上是您的机器,因为代码是在您计算机上的JVM中执行的)。因为您不是很谨慎,所以没有设置本地数据库的密码。在example.org上部署恶意applet的人现在可以从您的数据库中读取数据,并以他想要的方式使用它
为了能够从小程序访问数据库,您应该在服务器机器上运行一些服务器代码,这些代码将通过某种网络协议(RMI、套接字等)为您提供数据。您会遇到什么错误?连接字符串中的localhost不正确,它应该是数据库服务器的IP地址或域名,localhost将指向客户端计算机,这肯定不是db服务器。这是一种特殊情况,如果有人在服务器上浏览小程序(实际坐着),它没有给出任何错误,只是不显示数据。我只是试图更改它并添加了我的服务器IP,但它仍然不起作用代码>就在
抛出e的下方代码>并打开Java控制台(我想是从控制面板),然后再启动@Yazan提到的appletAs。。确保已将配置为显示。如果默认级别没有输出,请提高该级别,然后重试。@Yazan不确定对数据库进行外部访问是否是一个好主意,我希望使用一些非常简单的服务,可以配置为提供一些基本的安全性。您能指出一些我可以使用的参考或示例吗