Applet直接访问数据库

类别:Java 点击:0 评论:0 推荐:


    其实我个人认为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目录结构如下:
com\microsoft\jdbc[目录]
com\microsoft\jdbcx[目录]
com\microsoft\util[目录]
Test.class

3。写一个使用的html文件
<HTML>
<HEAD>
</HEAD>
<BODY>
<CENTER>
<APPLET
 code = "Test.class"
 archive = "Test.jar"
 width = "800"
 height = "300"
 >
</APPLET>
</CENTER>
</BODY>
</HTML>

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 Settings\UserName下,注意这个文件是要保存到客户端的

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

    全文完。如有不详之处请邮件联系[email protected]

本文地址:http://com.8s8s.com/it/it18125.htm