Web中使用普通类得到applicationContext

用一个类来存放applicationContext:

 
  1. public class ContextHolder {  
  2.   private final static ContextHolder instance = new ContextHolder();  
  3.   private ApplicationContext ac;  
  4.   private ContextHolder() {  
  5.   }  
  6.   public static ContextHolder getInstance() {  
  7.     return instance;  
  8.   }  
  9.   public synchronized void setApplicationContext(ApplicationContext ac) {  
  10.     this.ac = ac;  
  11.   }  
  12.   public ApplicationContext getApplicationContext() {  
  13.     return ac;  
  14.   }    
  15. }  

然后写一个servlet,继承自org.springframework.web.context.ContextLoaderServlet,并配置web.xml,让它在tomcat启动时自动运行。然后在它的init方法中,加入如下的代码: 

 
  1. WebApplicationContext context = WebApplicationContextUtils.  
  2.     getWebApplicationContext(this.getServletContext());  
  3. ContextHolder.getInstance().setApplicationContext(context);  

你可能感兴趣的:(tomcat,Web,xml,servlet)