Applet直接访问数据库

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

其实我个人认为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文件。应该可以看到结果

全文完。如有不详之处请邮件联系zlyperson@163.net

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航