WEB中加载ApplicationContext的两种方式
1,通过Listener加载ApplicationContext
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
-----------------------------------------------------------------------------------------------------------------------------------------
通过Servlet加载ApplicationContext
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>SpringContextServlet</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
-------------------------------------------------------------------------------------------------------------------------------------------
两种加载方式中要特别注意 路径问题。
<param-value>/WEB-INF/applicationContext.xml</param-value>
其中要确保你的 WEB-INF 下 有 applicationContext.xml 这个文件
测试发现WEB-INF区分大小写。 空格好象没有发现问题。
Listener 接口 是在 servelt2.3 版本被引入的 我机器的配置是Eclipse3.2 +Tomcate5.0+JDK1.5
使用这个没有问题。
还有一个 applicationContext.xml 如果放在 WEB-INF目录外似乎在这里
哪怕是改成相应的路径好象也访问不到。
servlet中可以通过
ApplicationContext context = org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
得到 context 对象。