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 -
数据库的复杂例子,读者可以从本小站所列举的网址中找到和下载到数据库连接范例。
|