使用spring-framework-3.0.3,配置文件如下:
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [
<!ENTITY contextInclude SYSTEM "org/springframework/web/portlet/context/WEB-INF/contextInclude.xml">
]>
<beans>
   <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="locations">
         <value>/WEB-INF/config/jdbc.properties</value>
      </property>
   </bean>
   <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
      <property name="driverClass" value="${jdbc.driver}"/>
      <property name="jdbcUrl" value="${jdbc.url}"/>
      <property name="user" value="${jdbc.user}"/>
      <property name="password" value="${jdbc.password}"/>
   </bean>
</beans>jdbc.properties文件在/WEB-INF/config目录下
jdbc.driver=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc.user=scott
jdbc.password=tiger当启动tomcat时,产生如下错误
严重: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in ServletContext resource [/WEB-INF/config/applicationContext.xml]: Could not resolve placeholder 'jdbc.driver'
        at org.springframework.beans.factory.config.PropertyPlaceholderConfigure
r.processProperties(PropertyPlaceholderConfigurer.java:272)
        at org.springframework.beans.factory.config.PropertyResourceConfigurer.p
ostProcessBeanFactory(PropertyResourceConfigurer.java:75)
        at org.springframework.context.support.AbstractApplicationContext.invoke
BeanFactoryPostProcessors(AbstractApplicationContext.java:663)
        at org.springframework.context.support.AbstractApplicationContext.invoke
BeanFactoryPostProcessors(AbstractApplicationContext.java:638)
        at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:407)
        at org.springframework.web.context.ContextLoader.createWebApplicationCon
text(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationConte
xt(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitiali
zed(ContextLoaderListener.java:47)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t.java:4323)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:4771)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:785)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:76
3)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:558)        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
a:1124)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:1047)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:542
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1390)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:355)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:89)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:31
2)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:29
2)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
va:998)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
:772)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
va:990)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.
java:275)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
        at org.apache.catalina.core.StandardService.startInternal(StandardServic
e.java:424)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.
java:648)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
2010-7-27 11:18:35 org.apache.catalina.core.StandardContext startInternal为什么会产生上面的错误呢?如何修改?
谢谢!