Tomcat5.0、5.5、6.0三个版本配置数据库都有所不同,这里说的是Tomcat6.0的配置方法:
1、导入MySql5.0对应的驱动程序,导入到Tomcat安装目录下lib文件夹下,有些教程教你导入到工程目录的WEB-INF/lib下。那个也许有用,但极有可能告诉你找不到驱动类,导入到Tomcat的lib下就绝对行。我就吃过这种亏,因为曾经连上过,但后来怎么也连不上,但一直没有想到是驱动包方了,折腾了很久。
2、在MySql中建立数据库,这里举例为book数据库,用户名为root,密码为123456。
3、到Tomcat安装目录下conf文件夹下找到context.xml,在<Context></Context>之间输入形式如下的配置信息:
<Resource name="jdbc/book"
auther="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
username="root"
password="123456"
maxActive="100"
maxIdle="30"
maxWait="1000"/>
以上各参数解释:name--数据源名称;
auther--创建数据源连接的对象(Container表示由容器Tomcat创建连接)
type--数据源连接类型(javax.sql.DataSource表明使用JDBC2.0连接池术);
driverClassName--数据库驱动类(在导入的驱动包中);
username--数据库登录名;
password--数据库密码;
maxActive--数据库最大连接数;
maxIdle-- 数据库连接的最大空闲时间。超过此空闲时间,数据库连接将被标记为不可用然后被释放(l连接放回连接池)。设为0表示无限制;
maxWait--数据库最大建立连接等待时间。如果超过此时间将接到异常(即连接不上)。设为-1表示无限制。 (单位毫秒);
4、在工程目录的WEB-INF/lib文件夹下的web.xml中的<web-app></web-app>之间插入如下元素:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/book</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
5、创建一个数据连接的JavaBean,需要连接数据库时就调用这个类的相关方法。当然也可以直接用<% %>插到JSP代码里,但那样代码很乱,实际开发不会那样做。如果使用Hibernate,连这步也可以省了,它的模板提供getConncection()连接数据库。但为了完整理解这一过程还是给出这个类:
public class JdbcConnection
{
private static javax.sql.DataSource pool;
static
{
try
{
InitialContext inc = new InitialContext();
pool = (DataSource)inc.loopup("java:comp/env/jdbc/book");
pool.setLoginTimeout(10);
}
catch(SQLException e)
{
system.out.println("pool is error!" + e.getMessage());
}
}
public static Connection getConnection()
{
try
{
return pool.getConnection();
}
catch(SQLException e)
{
system.out.println("connectionl is error!" + e.getMessage());
return null;
}
}
因为是静态方法,需要连接数据的时候就直接调用代码JdbcConnection.getConnection(),这样就在功能代码里实现连接数据的功能了,接下来就能对数据库里的数据表进行各种操作了。