给你一些提示:数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(Java Database Connectivity)。很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等等操作。Sun公司还开发了JDBC-ODBC bridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。下面介绍如何用Access实现一个动态FAQ(常见问题及答案)网站。
首先建立一个Access数据库faq.mdb,其中的表faqs有字段id(自动增量型,并设为主关键字)、Subject(文字型,长度200)、Answer(备注型)。这个表中可以存放一些编程知识的常见问题及答案,如图4。
图 4 然后,在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名faq,并指向faq.mdb。
创建一个JavaBean,名为faq.java,并保存在\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test目录下。faq.java 的内容如下: package test;
import java.sql.*; public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
ResultSet rs = null; public faq() {
try {
Class.forName(sDBDriver); 
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
} public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr); 
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);

catch(SQLException ex) { 
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
}
用上一节介绍的方法编译faq.java以后,在\jswdk-1.0.1\webpages\test目录下创建JSP文件faq.jsp,其内容如下: <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>我的FAQ !</title>
</head>
<body>
<p><b>这是我的FAQ!</b></p>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="workM" scope="page" class="test.faq" />
<%
ResultSet RS = workM.executeQuery("SELECT * FROM faqs");
String tt;
while (RS.next()) {
tt = RS.getString("Answer");
out.print("<LI>" + RS.getString("Subject") + "</LI>");
out.print("<pre>" + tt + "</pre>");
}
RS.close();
%>
在浏览器的地址栏中键入http://localhost:8080/test/faq.jsp,faq.jsp调用JavaBean,从数据库中读出内容并输出,得到结果如图5所示. 限于篇幅,本文不能列举JSP-JavaBean-JDBC/ODBC-数据库的复杂例子,读者可以从本文最后所推荐的网址中找到并下载到数据库连接范例。 

解决方案 »

  1.   

    楼上的兄弟其它的地方都很好,只不过连接数据库时用JDBC-ODBC bridge效率有些差现在一般不采用:你既然是
    要连接oracle数据库,那么你可你可导入oracle.jdbc.driver.*后,用oracle公司扩展的驱动
    进行连接,分二部:
    1、注册驱动:
     DriverManager.registerDriver(new OracleDriver());  //throws SQLExceptin异常
    2、连接:
      String url = "jdbc:oracle:thin:@192.168.0.5:1521:mydb";   //其中ip是oracle服务器
               的ip,  mydb是数据库端的服务名
     String user = "scott";
      String pass = "tiger";
     Connection con = DriverManger.getConnection(url, user, pass);
    //同样捕获异常
    其它一样!
    除了用jdbc以外你还可以考虑用sqlj进行连接
      

  2.   

    对不起,可能我没有说明。你说的是JDBC里面的ODBC桥的驱动。而我想要的是直接通过浏览器下载JAVA的APPLET,然后在APPLET里面实现远端数据库的连接。请再赐教。
      

  3.   

    请问,用在APPLET里面的JDBC DRIVER要打包哪些类文件?
      

  4.   

    to cd1860(守莲小子):
    class.forname 好像已经包括 registerDriver(new OracleDriver())这一步了!!!
      

  5.   

    我现在的问题是好象在APPLET里面访问数据库有安全限制的问题。请赐教。