1:安装好JDK
2:安装好TOMCAT (这篇文章是基于tomcat 4.1.30 版的配置,其它各个版本的配置都是大同小异的。) ,同时下载你要配置的数据库的JDBC驱动程序,放到$Tomcat_Home$/common/lib下面。
3:在tomcat的安装目录下面的webapps下面建一个文件夹,其名字假定为foldername(该文件夹的名字可以任意命名)
4:在刚建的文件夹(foldername)下面再建一个名字为WEB-INF文件夹,这个文件夹的名字是固定的,不能承受意命名,而且文件夹的名字是大写的。
5:在tomcat的安装目录下面有一个conf的文件夹,里面有一个server.xml文件,修改这个文件的同内容。具体修改方法是在这个文件里面的</Context>和</Host>之间加上如下的内容:
<Context path="/foldername" docBase="foldername" debug="5" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_foldername_log." suffix=".txt" timestamp="true"/>
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysql">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!--To configure a DBCP DataSource so that abandoned dB connections
are removed and recycled add the following paramater to the
ResourceParams configuration for your DBCP DataSource Resource:
When available db connections run low DBCP will recover and recyle
any abandoned dB connections it finds. The default is false.
-->
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<!--Use the removeAbandonedTimeout parameter to set the number of
seconds a dB connection has been idle before it is considered
abandoned. The default timeout for removing abandoned connections
is 300 seconds.
-->
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
<!--The logAbandoned parameter can be set to true if you want DBCP to
log a stack trace of the code which abandoned the dB connection
resources. The default is false.
-->
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>roger</value>
</parameter>
<!-- Class name for mm.mysql JDBC driver -->
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
-->
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/job?autoReconnect=true</value>
</parameter>
</ResourceParams>
</Context>
6:要将建立的文件夹的名字(folder_name)替换掉第一行(<Context path="/foldername" docBase="foldername" debug="5" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_foldername_log." suffix=".txt" timestamp="true"/>行)中foldername;
7:同时修改 <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysql"> 行中的"jdbc/mysql"这一值,将它修改为想要命名的值就可以,如将它修改为"jdbc/DataBaseConnection"
这两行中的值要修改一致,是同一个值。
8:将下载的jdbc驱动程序复制到tomcat下面的common/lib/目录下面,或是将jdbc驱动程序加入到系统的classpath中去。
9:根据不同的数据库的驱动程序,修改此处
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>的<value>属性值。
例如:连接Oracle8/8i/9i数据库(用thin模式)应该修改成如下结果:
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
连接Sql Server7.0/2000数据库应该修改成如下结果:
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
连接DB2数据库应该修改成如下结果:
<name>driverClassName</name>
<value>com.ibm.db2.jdbc.app.DB2Driver</value>
</parameter>
连接Informix数据库应该修改成如下结果:
<name>driverClassName</name>
<value>com.informix.jdbc.IfxDriverr</value>
</parameter>
连接Sybase数据库应该修改成如下结果:
<name>driverClassName</name>
<value>com.sybase.jdbc.SybDriver</value>
</parameter>
连接PostgreSQL数据库应该修改成如下结果:
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
10:根据不同的数据库的路径,修改此处
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/DataBaseName?autoReconnect=true</value>
</parameter>的<value>属性值。
例如是 Oracle8/8i/9i数据库(用thin模式),则应修改为如下结果:
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:DataBase_SID</value>
</parameter>
Sql Server7.0/2000数据库,则应修改为如下结果:
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs</value>
</parameter>
DB2数据库,则应修改为如下结果:
<parameter>
<name>url</name>
<value>jdbc:db2://localhost:5000/DataBaseName</value>
</parameter>
Informix数据库,则应修改为如下结果:
<parameter>
<name>url</name>
<value>jdbc:informix-sqli://123.45.67.89:1533/DataBaseName:INFORMIXSERVER=myserver</value>
</parameter>
Sybase数据库,则应修改为如下结果:
<parameter>
<name>url</name>
<value>jdbc:sybase:Tds:localhost:5007/DataBaseName</value>
</parameter>
11:在WEB-INF文件夹下面建一个xml文件,其名字为web.xml,这个文件的名字也是固定的,不能承受意命名,而且文件的名字是小写的。其中的内容是
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
" http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app>
<description>MySQL DataBase Connection</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
根据在server.xml中<ResourceParams name="jdbc/mysql">的命名,将此处<res-ref-name>jdbc/mysql</res-ref-name>的值修改成一样的值。这个文件中其它的地方不需要修改。