| |
作者:zergman email: zergman@chinaasp.com
数据库连接对动态网站来说是最为重要的部分,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),其中设计表(table) faqs,有字段id(自动增量型,并设为主关键字), subject(文字型,长度200), answers(备注型)。这个表中可以存放一些编程知识的常见问题及答案。见图4。
然后,在control panel(控制面板)的odbc datasource模块中,加入system dsn,取名faq,并指向faq.mdb。 创建一个javabean,faq.java,并保存在jswdk-1.0.1webpagesweb-infjspeans est目录下。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.1webpages est 目录下创建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(); %>
|
|