SSM web.xml ContextLoaderListener和 RequestContextListener的关系

<!--配置监听器,来加载spring容器,只负责监听web容器启动和关闭的事件-->
   <listener>
     <listener-class>
       org.springframework.web.context.ContextLoaderListener
     </listener-class>
   </listener>
<!--随时获得request   监听HTTP请求事件,Web服务器收到的每次请求都会通知该监听器-->
  <listener>
    <listener-class>
      org.springframework.web.context.request.RequestContextListener
    </listener-class>
  </listener>

ContextLoaderListener和RequestContextListener的区别

ContextLoaderListener只负责监听web容器的启动和关闭,而web服务器收到的每次请求都会通知RequestContextListener这个监听器。在整合spring容器时使用ContextLoaderListener,它实现了ServletContextListener监听接口,ServletContextListener只负责监听web容器启动和关闭事件。而RequestContextListener实现了ServletRequestListener监听接口,该监听器监听HTTP请求事件。web服务器接收的每一次请求都会监听该监听器。spring容器启动和关闭操作由web容器的启动和关闭事件触发,但如果spring容器中的Bean需要request,session,globalSession作用域的支持,spring容器本身就必须获得eb容器的http请求事件,以http请求的事件“驱动”Bean作用域的控制逻辑。

猜你喜欢

转载自blog.csdn.net/hello_world_1996/article/details/106839948