- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验8 JDBC访问数据库
一、实验目的
1. 掌握使用传统的方法访问数据库;
2. 掌握使用数据源的方法访问数据库。
二、实验原理
数据库应用是Web应用开发的一个重要应用。Web应用程序访问数据库有两种方法:传统的方法和使用JNDI数据源的方法。
传统方法访问数据库的步骤是:①加载数据库驱动程序;②建立连接对象;③创建语句对象;④获得结果集;⑤关闭有关连接对象。
使用数据源访问数据库的步骤是:①配置数据源(局部数据源或全局数据源);②通过JNDI机制查找命名数据源;③通过数据源对象创建连接对象;④其他与传统方法一致。
三、实验内容与步骤
(一)使用传统方法通过JSP页面访问数据库
【步骤1】创建数据库。假设在PostgreSQL建立了一个名为bookstore的数据库,在其中建立books表,代码如下:
CREATE TABLE books (
bookid character(5) PRIMARY KEY, --书号
title varchar2(80), --书名
author character varying(20), --作者
publisher character varying (40), --出版社
price real --价格
);
向books表中插入几条记录,代码如下:
INSERT INTO books VALUES
(204,Head First Servlets JSP, Bryan Basham, 中国电力出版社,98.00);
INSERT INTO books VALUES
(201, Servlets 与JSP 核心教程, Hall Marty,清华大学出版社,45);
INSERT INTO books VALUES
(202, Tomcat与Java Web 开发技术祥解, 孙卫琴, 机械工业出版社,45);
INSERT INTO books VALUES
(203, JSP 应用开发技术, 柳永坡,人民邮电出版社,52);
INSERT INTO books VALUES
(205, J2EE 1.4 编程指南, Spielman Sue,电子工业出版社,68);
注意:需要将数据库的JDBC驱动程序安装到应用程序的WEB-INF\lib目录中。
【步骤2】使用下面JSP页面displayBooks.jsp访问books表中的数据。
%@ page contentType=text/html; charset=gb2312 %
%@ page import=java.sql.*%
htmlhead titleDatabase Access Test/title
/head
body
%
try {
Class.forName(org.postgresql.Driver);
String dburl = jdbc:postgresql://localhost:5432/bookstore;
Connection conn = DriverManager.getConnection(dburl, bookstore, bookstore);
Statement stmt = conn.createStatement();
String sql = SELECT * FROM books ;
ResultSet rs = stmt.executeQuery(sql);
out.println(table border=1);
out.println(trtd书号/tdtd书名/tdtd作者/tdtd价格/td/tr);
while (rs.next()){
out.println(trtd+ rs.getString(1)+/tdtd+ rs.getString(2)
+/tdtd+ rs.getString(3)
+/tdtd+ rs.getString(5)+/td/tr);
}
out.println(/table);
rs.close();
stmt.close();
conn.close();
}catch (Exception e) {
out.println(e.getMessage());
}
%
/body
/html
运用mysql的代码如下:
%@ page contentType=text/html; charset=gb2312%
%@ page import=java.sql.*%
html
head
titleDatabase Access Test/title
/head
body
%
文档评论(0)