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 对象。

 

posted @ 2008-06-01 15:52  shine_panda  阅读(353)  评论(0编辑  收藏  举报