欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Servlet,Listener和Filter 获取ServletContext (application上下文环境)

程序员文章站 2022-05-24 15:30:43
...

Listener的项目上下文(既ServletContext既application)是从event中获取的,event是Listener和容器之间交流的中间人

public interface ServletContextListener extends EventListener {   
   
  
    public void contextInitialized ( ServletContextEvent sce );   
  
  
  
--------------------------------------------   
  
 ServletContext servletContext;   
  
  
   public void contextInitialized(ServletContextEvent sce)   
   {   
      servletContext = sce.getServletContext();   
   }

 

 

而Filter的项目上下文(既ServletContext既application)是从FilterConfig中获取的,FilterConfig是Filter和容器之间交流的中间人

 

public interface Filter {   
  
     
    public void init(FilterConfig filterConfig) throws ServletException;   
       
  
  
------------------------   
filterConfig.getServletContext() 

 

 

而Servlet的项目上下文(既ServletContext既application)是从ServletConfig中获取的,ServletConfig是Servlet和容器之间交流的中间人

 

public interface Servlet {   
  
    
  
    public void init(ServletConfig config) throws ServletException;   
       
---------------------------------------   
  
 getServletConfig().getServletContext()

 

我们的应用程序组件只能被动的遵守一定的规则,和容器打交道,和其他组件通信,也必须借助于容器的力量。这里面其实已经有一点控制反转的味道,既然是组件生活在容器中,就必须被动的接受容器喂给他吃的东西,不能(要)自己创造(new)。

 

Spring之所以称为容器(号称轻量级),就是因为被他控制的组件,被动的吃他喂过来的东西,不能(要)自己创造(new)。