在上次的MVC模式用户认证的小例子中,我们采用的是通过JDBC访问数据库,这样做似乎有个弊端。试想一下,如果我们的访问量在增大,人气很旺的话,就会出现下列的问题:
我们的WEB应用每次接受到一个客户的请求,都会和数据库取得连接,数据库操作结束后就会断开连接,这样的话就会耗费服务器大量的时间和内存。因为此时数据库每次配置链接都要将Connection对象加载到内存中,再验证用户名和密码。这个是很可怕的。
解决的办法自己有啦!呵呵那就是数据源。我们可以在Datasource中事先建立好多个我们想要的数据库连接,将这些连接保存在连接池中,当java程序访问数据库是,就从连接池中取出空闲状态的连接,当我们的程序访问结束时,再把这些数据库连接放回连接池。这样就可以提高访问数据库的效率啦!
理论基本上就是这样了。下面用个小例子加深理解。
在开始这个例子之前,我们应该建立一个数据库,和往常一样我的运行环境仍然是eclipse3.2+tomcat5.5+jdk1.5+mysql4.1。
连接数据库所用的用户仍然是"root"密码仍然是"1234"。
use mysql
create database BookDB;
use BookDB
CREATE TABLE books
(
id VARCHAR(8)
PRIMARY KEY,
name VARCHAR(24),
title VARCHAR(96),
price FLOAT,
yr INT,
description VARCHAR(30),
saleAmount INT
);
INSERT INTO books VALUES('201', '王芳',
'Java编程指南',
33.75, 1999, '让读者轻轻松松掌握Java语言', 1000);
INSERT INTO books VALUES(