您的位置:寻梦网首页编程乐园Java天地小龙亭之JSP实践之旅
灏忛緳浜箣JSP瀹炶返涔嬫梾
涓婚〉锛�鍏ラ棬锛�EJB锛�J2EE锛�骞冲彴锛�JSP缂栫▼锛�璇戞枃锛�宸ュ叿锛�Java锛�AppServer锛�Web锛�鏁版嵁搴�锛�XML锛�鎵嬭锛�灏忎涵

JSP语法介绍
语法详解
jsp汉字编码问题策略
javamail在JSP中的应用
javamail何志强篇
JDBC精要
jsp在win2k/oracle上的应用
如何用UML为JSP建模
通用信息发布程序
JSP概述及音乐店设计
jsp计数器制作
不用odbc直接连接SQL Server
jsp的出错处理
jsp的wap应用
jsp实现购物程序
用jsp编写文件上载
用jspsmart Bean实现文件上载
用jsp连接mySQL数据库
基本内置组件
JavaBean调用示例
JDBC应用示例
一个通用的日历
JSP技巧集锦(一)
流方法读写文件
文件处理-读写追加
数据库记录分页显示

JDBC


数据库连接
数据库连接对动态网站来说是最为重要的部分,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.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 - 数据库的复杂例子,读者可以从本小站所列举的网址中找到和下载到数据库连接范例。

小龙亭工作室 Blueski   Copyleft: 2000/6