用Applet直接访问数据库

其实我个人认为Applet要访问数据库的话,采用我以前一篇文章《Servlet传送查询记录集给Applet》的方法去实现比较好的,这样可以不用客户端下载jdbc驱动程序,同时也不必暴露数据库结构。所以这篇文章仅作为技术探讨。
我这里要讲解的是Applet直接访问SQLServer2000的实例,我想其他的数据库也是类似了。准备工作,到微软站点下载Microsoft SQL Server 2000 Driver for JDBC。下面详解各个步骤:
1。写一个简单的Applet
import java.awt.*;
import java.applet.*;
import java.sql.*;

public class Test extends Applet {
private String strErrorMessage = "";
public void init() {
try{
//注册SQLServer2000 jdbc驱动程序
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//连接数据库
Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.9.200.52:1433;databaseName=bluesite", "sa", "");
String sql= "SELECT UserName FROM UserInfo";
Statement stmt = conn.createStatement();
ResultSet rslt = stmt.executeQuery(sql);
while (rslt.next())
{
strErrorMessage +=rslt.getString(1);
}
rslt.close();
stmt.close();
conn.close();
} catch (Exception exp) {
strErrorMessage += exp.toString();
}
}

public void paint(Graphics g) {
g.drawString(strErrorMessage, 50, 60 );
}
}
编译。

2。打包数据库驱动程序与Test.class
建一个Test.jar,把Test.class,以及SQLServer2000驱动程序的三个jar文件解出来打包进去。
最后的Test.jar目录结构如下:
commicrosoftjdbc[目录]
commicrosoftjdbcx[目录]
commicrosoftutil[目录]
Test.class

3。写一个使用的html文件

 

 

 

code= "Test.class"
archive = "Test.jar"
width= "800"
height= "300"
>

 

 


4。编辑策略文件.java.policy

grant {
permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.util";
permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.jdbc";
permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.jdbcx";
permission java.net.SocketPermission "192.9.200.52:1433", "connect";
};

注:192.9.200.52是数据库服务器的ip,1433是sqlserver开的连接端口
保存到系统盘:Documents and SettingsUserName下,注意这个文件是要保存到客户端的

5。运行测试
直接在浏览器中打开那个html文件。应该可以看到结果

 

====================================================================

补遗:::
实在是抱歉,由于作者一时疏忽,在CSDN发表了两篇关于Servlet与Applet通讯的文章

(http://www.csdn.net/develop/read_article.asp?id=14917  

http://www.csdn.net/develop/read_article.asp?id=14576),都忘记了策略文件的制作。这也应该算是Applet安全

的基础知识吧,先补充如下:
 在作者另一篇文章《Applet直接访问数据库》http://www.csdn.net/develop/read_article.asp?id=15810

一文中讲述过Applet策略文件的制作。制作策略文件有两种方式,一是jdk带的policytool工具,它提供图形界面,为

applet分配权限,另一种是直接编辑策略文件,对于初学者采用第一种方式比较合适,熟练的话,直接编辑比较快速。下面我

就讲讲怎么样直接编辑其策略文件。策略文件的名称为".java.policy",这个文件必须放在用户根目录,在windows2000系统

下,为操作系统所在盘:/Documents and Settings/用户名 目录,比如我的系统装在C盘,用户为管理员,那么这个目录就

是C:/Documents and Settings/Administrator。".java.policy"这个文件不能够在windows2000图形界面创建,可以

打开一个命令行窗口,进入C:/Documents and Settings/Administrator,图形界面下建立一个文本文件,比如命名为

java.policy,然后用dos命令C:/Documents and Settings/Administrator>move java.policy .java.policy
这样就可以了,,然后用个编辑器,打开该文件,输入内容,内容可能类似于下:
grant {
  permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.util";
  permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.jdbc";
  permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.jdbcx";
  permission java.net.SocketPermission "192.9.200.52:1433", "connect";
};

保存就可以。第一行到第三行分别是授予applet访问三个包的权限,第四行是授予applet连接192.9.200.52:1433地址端口

的权限。
好了就到此,希望能够对迷途中的网友们有所帮助。
zlyperson@163.net


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值