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

来源:互联网 发布:零基础学画画的书 知乎 编辑:程序博客网 时间:2024/05/21 22:39

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

Java代码  收藏代码
  1. public interface ServletContextListener extends EventListener {     
  2.      
  3.     
  4.     public void contextInitialized ( ServletContextEvent sce );     
  5.     
  6.     
  7.     
  8. --------------------------------------------     
  9.     
  10.  ServletContext servletContext;     
  11.     
  12.     
  13.    public void contextInitialized(ServletContextEvent sce)     
  14.    {     
  15.       servletContext = sce.getServletContext();     
  16.    }  

 

 

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

 

Java代码  收藏代码
  1. public interface Filter {     
  2.     
  3.        
  4.     public void init(FilterConfig filterConfig) throws ServletException;     
  5.          
  6.     
  7.     
  8. ------------------------     
  9. filterConfig.getServletContext()   

 

 

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

 

Java代码  收藏代码
  1. public interface Servlet {     
  2.     
  3.       
  4.     
  5.     public void init(ServletConfig config) throws ServletException;     
  6.          
  7. ---------------------------------------     
  8.     
  9.  getServletConfig().getServletContext()  

 

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

 

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


原创粉丝点击