第三:在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才能正常的运行起来。 |