什么是监听器类的一个大项目的目的

问题描述 投票:8回答:4

我感到困惑的是什么监听类做。例如,在这个项目中有如此作为参考的监听器类:

<listener>
    <listener-class>com.sun.javaee.blueprints.petstore.model.CatalogFacade</listener-class> 
</listener>

难道顾名思义,只是听,要采取行动呢?

java java-ee listener actionlistener
4个回答
4
投票

我建议审查从Servlet规范“应用程序生命周期事件”一章。

根据您所使用的版本,这里有相应的章节,并链接到文档:

监听器是用来通知事件的Web应用,包括在ServletContextHttpSessionServletRequest对象的状态的变化。通过实施预定义的监听器接口(javax.servlet.ServletContextListenerjavax.servlet.http.HttpSessionListenerjavax.servlet.ServletRequestListener等),servlet容器会通知您在应用程序中发生的某些事件。他们有很多潜在的用途,如进行一次性申请设置和关闭任务,拦截请求进行记录,跟踪HTTP会话使用等。


6
投票

监听器类得到通知选定的事件,如启动应用程序或创建一个新的会话。

监听器类:

这些都是实现以下两个接口中的一个简单的Java类:

  • javax.servlet.ServletContextListener
  • javax.servlet.http.HttpSessionListener

如果你想让你的类监听应用程序启动和关机事件然后实现ServletContextListener接口。如果你想让你的类监听会话的创建和失效事件,然后实现HttpSessionListener接口。

Source


2
投票

是的正是他们在听一些行动待办事项,例如,如果它的ContextLoaderListener那么它就会听上下文装载事件,有很多的东西,我们可以在这样的情况下这样做的这些都是为制造


2
投票

更一般地,一个监听在observer pattern观察者/用户侧。服务器/框架边为您提供通知一些事件,因此给你一个机会做你的行为的一种手段。

它不一定必须是“大项目”。听众即使在较小的来方便:)。

© www.soinside.com 2019 - 2024. All rights reserved.