数据库连接池配置(mysql)
安装JDK
安装JDK的目录名最好不要有空格,配制环境变量如下(以windows下C盘为例):
新增用户变量JAVA_HOME,值设置为JDK安装目录,比如C:Java/jdk 1.5.0 _06
新增用户变量CLASSPATH,值设置为 .;%JAVA_HOME%/lib/;
(注意,前面的.号表示当前路径,此处不可少)
修改用户变量PATH,新增值%JAVA_HOME%;%JAVA_HOME%/bin;
(注意,新增的值与原有值之间必需用;号分隔)
完成后通过CMD命令窗输入命令java -version查看jdk是否安装成功。
安装tomcat
比如安装路径为d:/tomcat 5.5,并配制环境变量如下:
新增用户变量TOMCAT_HOME,值设置为D:/tomcat 5.5修改用户变量CLASSPATH,新增值%TOMCAT_HOME%/common/lib;
完成后打开tomcat控制台,开启服务,在IE中输入地址:http://localhost:8080/查看是否安装完成(注,localhost表示本机,8080为tomcat默认的端口,在安装时应该能够设置,此处为默认)
安装Eclipse3.2
我下载的是一个sdk包eclipse-SDK- 3.2.1 -win32.zip,只需要解压后即可,我将其解压到D盘根目录下,即:D:/eclipse,到安装目录下运行eclipse.exe,即可启动Eclipse。
1. 安装MyEclipse插件
运行MyEclipse_ 5.5.1 GA_E3.2.2_FullStackInstaller.exe即开始安装,其间需要选择Eclipse3.2的安装路径,其余采用默认即可。
完成后即在MyEclipse安装路径上又生成了名为Eclipse的子文件夹,对MyEclipse的汉化操作要在这个子文件夹内完成,步骤与Eclipse的汉化过程相同。安装完成后启动MyEclipse,再单击MyEclipse菜单下“Update Subscriber”输入注册码“www.1cn.biz”和“jLR7ZL-655355-5450755330522962”,单击“完成”。
2. 在MyEclipse中添加tomcat
在MyEclipse中单击菜单“窗口”->“首选项”弹出首选项对话框,在左侧的树形列表中选择“MyEclipse”->“Application Servers”->“Tomcat”->“Tomcat 5.X”,选择“Enable”单选框,将其激活。在“Tomcat home directory”后的“浏览”中选择d:/Tomcat 5.5(即tomcat的安装路径)。再单击“Tomcat 5.X”树形列表下的"JDK",在Tomcat JDK name后的ADD按钮上选择C:/JDK1.5(即JDK的安装路径),并重新命一个名,我命名为jdk1.5。
3. 安装SQLSERVER2000或mysql5.0
执行ms_jdbc_setup.exe可执行文件,一切只需要点击下一步,至到出现finish按钮,完成安装。请注意以下几点:
(1) ms_JDBC_setup默认安装路径为:c:/Program Files/Microsoft SQL Server 2000 Driver for JDBC
(2)此版(Version 2.2.0022 )本仅支持Microsoft SQL Server 2000 Driver for JDBC
(3)安装目录/lib/下的三个jar文件:msbase.jar、mssqlserver.jar、msutil.jar即是我们要的JDBC驱动核心。将以上三个jar文件加入到环境变量中去,比如:
classpath=
d:/webserver/lib/msbase.jar;d:/webserver/lib/mssqlserver.jar;d:/webserver/lib/msutil.jar
也可以省事的将以上三个文件拷贝至你的jvm机所在的JAVA_HOME/jre/lib/ext目录下,不过不建议这么做。
如果安装mysql5.0,则可以考虑加装mysql-front,用于图形方式操作mysql。Mysql5.0的驱动的安装文件放在mysql-connector-java- 5.0.6 .zip中,
4. 配置tomcat数据源
Tomcat数据源的配置需要开源数据源(如DBCP和C3P0)获取工具来实现,以DBCP为例,先下载commons-dbcp- 1.2.1 .jar; commons-pool-1.2.jar; commons-collection-3.1.jar; 将这三个文件复制到tomcat的common/lib目录下,即为tomcat提供了配置数据源所必需的类库。数据源获取工具和jdbc驱动程序准备好后,就可以配置数据源了。
1》 安装tomcat-admin插件。这个插件的作用是可以引导你通过web的方式去配置数据源,就像weblogic配置数据源一样。这个插件网上有的下,解压后会提供一个admin.xml文件和一个admin文件夹,将admin.xml文件放到%Tomcat_HOME%conf/Catalina/localhost目录下,将admin文件夹放到%Tomcat_HOME%/server/webapps目录下,这样这个插件就安装好了。Tomcat 5.5.20 已经带有这个插件,不必另外安装。
2》 启动Tomcat,输入http://localhost:8080/admin进入tomcat的admin配置管理页面,进入后看左边的树形菜单,如图一,点Data Sources进入数据源的配置,在配置栏中输入相应参数(图二),大家根据自己的数据库赶写相应数据库的驱动类和URL,然后按save--->commit changes保存配置。
这一步完成后在%Tomcat_HOME%conf/server.xml中的 <GlobalNamingResources> </GlobalNamingResources>中,tomcat会自动生成以下一段代码:
<Resource
name="datasource"
type="javax.sql.DataSource"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/xianbao"
maxActive="4"/>
这就是我们刚才配置的数据源。
3》 编辑%Tomcat_HOME%conf/context.xml,在<Context></Context>之间添加以下代码
<Resource
auth="Container"
description="datasource"
name="datasource"
type="javax.sql.DataSource"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/xianbao"
maxActive="4"/>注意,这些参数和上一步配置的数据源参数要一定相同,否则就会出错。网上的资料都忽略了这一步,直接去配置web.xml文件了。
4》 配置应用目录下的web.xml文件。在<web-app></web-app>之间加入以下代码:
<resource-ref>
<description>ipsdb</description>
<res-ref-name>datasource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
创建数据库:
Mysql数据库:
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 14
Server version: 5.0.37 -community-nt MySQL Community Edition (GPL)
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql> use xianbao
Database changed
mysql> select* from students
-> ;
+-------+-----+
| name | sid |
+-------+-----+
| zhang | 123 |
+-------+-----+
1 row in set (0.09 sec)
mysql>
重启Tomcat,在Myeclipse中新建WEB项目,用下面的JSP文件进行数据库的测试:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<!DOCTYPE HTML PUBLIC "-//W 3C //DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'testPool.jsp' starting page</title>
<meta http-equiv="pragma" c>
<meta http-equiv="cache-control" c>
<meta http-equiv="expires" c>
<meta http-equiv="keywords" c>
<meta http-equiv="description" c>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page for testing database connection. <br>
<%
Connection c;
Context initCtx=new InitialContext();
Context ctx=(Context)initCtx.lookup("java:comp/env");
javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("datasource");
c=ds.getConnection();
Statement stmt=c.createStatement();
PreparedStatement ps=c.prepareStatement("select * from students");
ResultSet rs=ps.executeQuery();
while(rs.next()){
out.println("name:"+rs.getString(1)+"<br>");
out.println("id:"+rs.getString(2)+"<br>");
}
rs.close();
stmt.close();
out.println("ok");
%>
</body>
</html>
‘
用IE连接测试:http://localhost:8080/databaseTest/MyJsp.jsp
结果如下:
This is my JSP page for testing database connection.
name:zhang
id:123
ok
结语
Tomcat数据库配置比较麻烦,注意各个配置文件之间的一致性,添加代码时,注意context.xml比server.xml要多两条语句:
auth="Container"
description="datasource"