到下面地址领分:
http://community.csdn.net/Expert/topic/3808/3808318.xml?temp=.7261164
http://community.csdn.net/Expert/topic/3984/3984472.xml?temp=.9426081
http://community.csdn.net/Expert/topic/3887/3887081.xml?temp=.5927393
http://community.csdn.net/Expert/topic/3808/3808318.xml?temp=.7261164
http://community.csdn.net/Expert/topic/3984/3984472.xml?temp=.9426081
http://community.csdn.net/Expert/topic/3887/3887081.xml?temp=.5927393
public static final String CONFIG_LOCATION_PARAM = "contextConfigLocation";
String configLocation = servletContext.getInitParameter(CONFIG_LOCATION_PARAM);
if (configLocation != null) {
wac.setConfigLocations(StringUtils.tokenizeToStringArray(configLocation,
ConfigurableWebApplicationContext.CONFIG_LOCATION_DELIMITERS));
}
所以他是由ServletContext加载的,而不是某个servlet加载的,不应该把contextConfigLocation配置在sevlet中
做如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/Config.xml</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/Config.xml</param-value>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>Dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
在Web.xml中:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/context1.xml,
/WEB-INF/spring/context2.xml,
....
</param-value>
<description>上下文配置文件路径</description>
</context-param> <servlet>
<servlet-name>wenapp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/servlet1.xml, /WEB-INF/spring/servlet2.xml,
.....
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>在context1.xml中定义:
<bean id="mySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource"><ref local="dataSource"/></property>
<property name="mappingResources">
<list>
<value>com/webapp/user.hbm.xml</value>
<value>com/webapp/role.hbm.xml</value>
...
</list>
</property>
<property name="hibernateProperties">
...一种业务模块context_?.xml和servlet_?.xml文件各一个。serlet_?.xml定义与Servlet有关的bean。