`
tianhandigeng
  • 浏览: 376440 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

listener、filter、servlet获得ServletContext(转载)

阅读更多

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

      public interface ServletContextListener extends EventListener {  
      /** 
      ** Notification that the web application initialization 
      ** process is starting. 
      ** All ServletContextListeners are notified of context 
      ** initialization before any filter or servlet in the web 
      ** application is initialized. 
      */  
   
     public void contextInitialized ( ServletContextEvent sce );  
   
   
   
 --------------------------------------------  
   
  ServletContext servletContext;  
   
   
    public void contextInitialized(ServletContextEvent sce)  
    {  
       servletContext = sce.getServletContext();  
    }  

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

 public interface Filter {  
  
     /**  
    * Called by the web container to indicate to a filter that it is being placed into 
    * service. The servlet container calls the init method exactly once after instantiating the 
    * filter. The init method must complete successfully before the filter is asked to do any 
     * filtering work. <br><br> 
  
       * The web container cannot place the filter into service if the init method either<br> 
       * 1.Throws a ServletException <br> 
         * 2.Does not return within a time period defined by the web container  
     */  
    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)。

 

 

分享到:
评论

相关推荐

    web.xml 中的listener、 filter、servlet 加载顺序及其详解.doc

    一般来说,listener 的加载顺序是在 filter 和 servlet 之前的,因为 listener 需要监听 ServletContext 的事件,以便实现对 Web 应用的监听和控制。filter 的加载顺序是在 servlet 之前的,因为 filter 需要对请求...

    servlet+filter+listener 详解

    Servlet、Filter、Listener 详解 Servlet 是运行在服务器上的小程序,它可以使任何 Java 应用程序、浏览器或任何设备。Servlet 的客户端可以提出请求并获得该请求的响应。Servlet 在初始化后即驻留内存中,因此每次...

    Servlet、Filter、Listener深入理解.docx

    Servlet、Filter和Listener是Java Web开发中的核心组件,它们在构建动态Web应用程序中扮演着重要角色。下面将分别深入解析这三个概念。 **Servlet接口** Servlet是Java编程语言中定义的一个接口,它允许开发者创建...

    javax.servlet_api.chm中文版英文版

    8. **过滤器Filter**:Servlet API还定义了Filter接口,允许在请求到达Servlet之前进行拦截和处理,比如登录检查、数据转换等。 9. **监听器Listener**:Servlet API提供了各种监听器,如SessionListener、...

    特殊情况(ActionForm,Servlet, Filter, Listener)下Spring如何注入对象

    然而,在特定场景如ActionForm、Servlet、Filter、Listener等中,传统的注入方式可能无法正常工作,需要采用特殊的注入手段。 在标题和描述中提到的特殊情况主要涉及ActionForm。ActionForm是Struts1.x的一个概念,...

    servlet2.4doc

    doFilter(ServletRequest, ServletResponse, FilterChain) - Method in interface javax.servlet.Filter The doFilter method of the Filter is called by the container each time a request/response pair is ...

    servlet.jar包

    此外,Servlet API还提供了过滤器(Filter)和监听器(Listener)的概念,它们允许开发者在请求到达Servlet之前进行拦截处理,或者监听特定的事件,如session创建、销毁等。 JSP技术则是基于Servlet的,它将HTML和...

    Servlet3.0新特性解析

    ServletRegistration.Dynamic servlet = servletContext.addServlet("MyServlet", MyServlet.class); servlet.addMapping("/myPath"); ``` 这个特性极大地提高了应用的可扩展性和模块化程度,使得开发人员可以更加...

    Servlet中文api帮助文档

    Servlet API还包含了Filter接口,允许开发者在请求到达Servlet之前或离开Servlet之后对其进行拦截和处理。过滤器在web.xml中配置,并通过`&lt;filter&gt;`和`&lt;filter-mapping&gt;`元素定义过滤规则。 八、监听器(Listener)...

    servlet学习资料大全(教程)

    在Servlet学习中,Filter和Listener也是重要的部分。Filter可以在请求到达Servlet之前对其进行预处理,或者在响应返回客户端之后进行后处理。Listener则监听Web应用中的特定事件,如会话创建、销毁等,提供额外的...

    servletapi

    - `Filter`:Servlet API还提供了过滤器(Filter)机制,可以在请求到达Servlet之前或之后进行拦截和处理,比如进行登录验证、数据转换等。 - `Listener`:监听器(Listener)可以监听特定的事件,比如用户会话的...

    javax-servlet-api-3.0.1.jar

    6. `javax.servlet.annotation`包:包含了各种注解,比如`@WebServlet`、`@WebFilter`和`@WebListener`,使得开发者可以通过注解方式声明Servlet、过滤器和监听器,简化了web.xml配置文件的编写。 7. `javax....

    servlet api servlet api

    综上所述,Servlet API是构建Java Web应用的基础,提供了处理HTTP请求的核心功能,结合Filter和Listener可以实现复杂的Web应用逻辑。理解并熟练掌握Servlet API对于任何Java Web开发者都是至关重要的。

    Servlet中文API文档 servlet

    9. **监听器Listener**:Servlet API中的监听器(如ServletRequestListener、ServletContextListener)可以在特定事件(如请求到达、应用启动/停止)发生时执行代码,增强了应用程序的灵活性。 10. **会话管理**:...

    day19_Filter&Listener教案1

    监听器(Listener)是另一种Java Web组件,用于监听特定事件并作出响应,如监听Session的创建、销毁,监听应用上下文的初始化和销毁,或者监听ServletContext、HttpSession、ServletRequest等对象的状态变化。...

    javax.servlet-api-3.1.0.jar

    Servlet API的核心概念包括Servlet、Filter和Listener。Servlet是一种Java类,用于扩展Web服务器的功能,处理来自客户端(如浏览器)的HTTP请求,并向客户端发送响应。例如,一个Servlet可能接收表单数据,处理业务...

    servlet-api所需的jar包

    9. **部署描述符web.xml**:在Web应用中,`WEB-INF/web.xml`文件是部署描述符,用于配置Servlet、Filter和Listener,以及其他设置。 10. **MVC模式**:Servlet常与Model-View-Controller(MVC)设计模式结合使用,...

    JavaWeb_servlet(10)_ 通过 ServletContex 获得根目录下的文件路径

    除了在Servlet中,我们还可以在Filter、Listener或其他JavaEE组件中获取到ServletContext。 在实际开发中,结合ServletContext和文件系统操作,可以实现诸如上传下载文件、读取配置文件、日志记录等功能。同时,...

    servlet-api 源码

    Servlet 3.0引入了注解配置,使得无需web.xml也能声明Servlet、Filter和Listener,简化了Web应用的配置。 总结,Servlet API是Java Web开发的基石,通过理解其源码,开发者可以更好地掌握HTTP请求处理机制,提高...

    servlet-api.rar_java servlet_servlet api_servlet api hmtl_servle

    6. **Web Deployment Descriptor (web.xml)**:这是Servlet应用的部署描述符,定义了Servlet、Filter和Listener的配置信息,以及它们之间的映射关系。web.xml文件是Servlet API配置的主要方式,但随着Java EE的演进...

Global site tag (gtag.js) - Google Analytics