使用 Applet 连接数据库 解决方案.....

最近,用Applet 即时显示 网站流量统计.但我知道,先前不作任何的处理Applet是不工作的(应为他要连接数据库).所以我用 policytool 工具生成安全策略,使得Applet能够访问本地资源(并给他所有权限).最终生成一个文件:

ser.policy
------------------------------------------------------------
/* AUTOMATICALLY GENERATED ON Sat May 10 09:25:36 CST 2003*/
/* DO NOT EDIT */

grant codeBase "file:/f:/ytiic/Stat/*" {
permission java.security.AllPermission;
};

-------------------------------------------------------------
然后进行授权:(当然,先编译此类)
Appletviewer -J-Djava.security.policy=c.policy analyse.java

执行完后,出现一个小窗口.代表运行成功.可是却出现了一个问题,
数据库驱动程序,无法加载!!!!!!!
环境变量已经设置好,先前做了一个小程序,已连接成功.......

[ 可是Applet怎么无法加载驱动程序呢???? ]

请高手指点...........

------------------------------------------------------------
原程序:
-----------------


import java.awt.*;
import java.applet.*;
import java.sql.*;
/*

<applet code="analyse" width=300 height=80>
</applet>

*/

public class analyse extends Applet implements Runnable
{
private ResultSet rs=null;
private PreparedStatement ps=null;
private Statement st=null;
private Connection con=null;
private Thread t=null;
String msg=
"A Simple Moving Bananer ";
boolean stopFlag;
public void init()
{
this.setBackground(Color.ORANGE);
//定义背景颜色
this.setForeground(Color.red);
//定义前景颜色

try{
Class.forName(
"dm.jdbc.driver.DmDriver").newInstance(); //加载驱动程序
con=DriverManager.getConnection(
"jdbc:dm://10.40.14.3","admin","admin");


}catch(Exception e){
msg=e.toString();
destroy();
}
}
public void paint(Graphics g)
//此方法用于显示输出
{
try{

st = con.createStatement();
rs=st.executeQuery(
"select * from tb_language");
if(rs.next()){
g.drawString(
"ok",50,50);
}
rs.close();
st.close();
}catch(Exception e){}
g.drawString(msg,50,50);

}
//当浏览器不访问此页时,stop()方法将被调用
public void stop(){

stopFlag=true;
t=null;

}
//最后释放所用的资源
public void destroy(){
try{
if(con!=null){
con.close();
con=null;
}
}catch(SQLException e){}
finally{
try{
if(con!=null)
con.close();
}catch(SQLException ee){}
}
}
}