核心提示:Tomcat5 及 Tomcat6 下CP配置。 主要是根据MLDN的一个实例进行配置的。实例中用的是Tomcat5.5,所以他的CP配置如下: 第一: 将jdbc驱动的jar包,如:MySQL、Oracle的jdbc驱动,拷贝到tomcat中lib下。 注意:必须是tomcat中lib下,如:D:\Tomcat 6.0\lib,但
Tomcat5 及 Tomcat6 下CP配置。
主要是根据MLDN的一个实例进行配置的。实例中用的是Tomcat5.5,所以他的CP配置如下:
第一:将jdbc驱动的jar包,如:MySQL、Oracle的jdbc驱动,拷贝到tomcat中lib下。
注意:必须是tomcat中lib下,如:D:\Tomcat 6.0\lib,但不能是项目中的WEB-INF/lib下,因为这时tomcat解析不到此类目录。
第二:在Tomcat的安装目录下conf下找到server.xml,在<host></host>之间加上如下代码:
1<Context path="/zhinangtuan" docBase="F:\Eclipse\MyZNTProject\MyZhiNangTuanDemo\WebRoot"
2 debug="5" reloadable="true" crossContext="true">
3
4 <Logger className="org.apache.catalina.logger.FileLogger"
5 prefix="localhost_MysqlTest_log." suffix=".txt"
6 timestamp="true"/>
7
8 <Resource name="jdbc/mldn" auth="Container" type="javax.sql.DataSource"/>
9
10 <ResourceParams name="jdbc/mldn">
11 <parameter>
12 <name>factory</name>
13 <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
14 </parameter>
15 <parameter>
16 <name>maxActive</name>
17 <value>100</value>
18 </parameter>
19 <parameter>
20 <name>maxIdle</name>
21 <value>30</value>
22 </parameter>
23 <parameter>
24 <name>maxWait</name>
25 <value>5000</value>
26 </parameter>
27 <parameter>
28 <name>username</name>
29 <value>root</value>
30 </parameter>
31 <parameter>
32 <name>password</name>
33 <value>mysqladmin</value>
34 </parameter>
35 <parameter>
36 <name>driverClassName</name>
37 <value>org.gjt.mm.mysql.Driver</value>
38 </parameter>
39 <parameter>
40 <name>url</name>
41 <value>jdbc:mysql://localhost:3306/mldn</value>
42 </parameter>
43 </ResourceParams>
44 </Context> 第一部分为项目的发布路径。其他的就是数据库的配置了。
第三:在Spring的配置文件applicationContext.xml中加上如下代码:
1<bean id="dataSource"
2 class="org.springframework.jndi.JndiObjectFactoryBean"
3 destroy-method="close">
4 <property name="jndiName">
5 <value>java:comp/env/jdbc/mldn</value>
6 </property>
7 </bean>
而我用的Tomcat是6.0.18,在根据这个配置后就会出现javax.naming.NameNotFoundException: Name jdbc is not bound in this Context的错误。原因是,Tomcat5和Tomcat6的配置有所区别:
第一:将jdbc驱动的jar包,拷贝到Tomcat的lib下
第二:在tomcat中conf下的context.xml文件中<context>与</context>之间加入以下部分:
1<Resource name="jdbc/mldn"
2 auth="Container"
3 type="javax.sql.DataSource"
4 factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
5 driverClassName="com.mysql.jdbc.Driver"
6 url="jdbc:mysql://localhost:3306/mldn?useUnicode=true&characterEncoding=utf-8"
7 username="root"
8 password="123"
9 maxActive="100"
10 maxIdle="30"
11 maxWait="10000" /> 同时在项目的web.xml中加入如下代码(网上说可以加也可以不加)
1<resource-ref>
2 <description>DB Connection</description>
3 <res-ref-name>jdbc/mldn</res-ref-name>
4 <res-type>javax.sql.DataSource</res-type>
5 <res-auth>Container</res-auth>
6 </resource-ref>
第三:在Spring的配置文件applicationContext.xml中加上如下代码:
1<bean id="dataSource"
2 class="org.springframework.jndi.JndiObjectFactoryBean"
3 destroy-method="close">
4 <property name="jndiName">
5 <value>java:comp/env/jdbc/mldn</value>
6 </property>
7 </bean>
这样,Tomcat6下的CP才能正常的运行起来