Applet要怎么才能读取所在机器的数据库呢?
//TestMysql.java
import java.applet.*;
import java.sql.*;
import java.awt.*;
public class TestMysql extends Applet{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String ss="开始读取数据:";
public void paint(Graphics g){
g.drawString(ss,10,10);
}
public void init(){
String drv="org.gjt.mm.mysql.Driver";
try{
Class.forName(drv).newInstance();
String url="jdbc:mysql://192.168.0.4/mysql?user=root";
conn=DriverManager.getConnection(url);
stmt=conn.createStatement();
}
catch(Exception e){
System.err.println(e.getMessage());
}
}
public void run(){
try{
rs=stmt.executeQuery("select * from user");
while(rs.next()){
System.out.println(rs.getString(1));
ss+=rs.getString(1);
}
}
catch(Exception e){
System.err.println(e.getMessage());
}
}
public static void main(String[] args){
TestMysql tt=new TestMysql();
tt.init();
tt.run();
}
}
<applet code=TestMysql width=250 height=250
archive="mm.mysql-2.0.4-bin.jar"
>
</applet>
文件mm.mysql-2.0.4-bin.jar在TestMysql.html当前目录下
本地IP为192.168.0.4,建有web服务,mysql数据库,作为应用程序是可以执行并得到正确的结果,但是作为Applet来通过WEB访问(http://192.168.0.4/TestMysql.html),却得到不记录,并且显示错误为
Cannot connect to MySQL server on 192.168.0.4:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.SocketException)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocksSocketImpl.readSocksReply(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.plugin.net.protocol.http.HttpClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.plugin.net.protocol.http.HttpClient.<init>(Unknown Source)
at sun.plugin.net.protocol.http.HttpClient.New(Unknown Source)
at sun.plugin.net.protocol.http.HttpURLConnection.createConnection(Unknown Source)
at sun.plugin.net.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
等