Servlets 在实现侦听器接口时使用@WebListener是可选的吗?

Servlets 在实现侦听器接口时使用@WebListener是可选的吗?,servlets,Servlets,如果我在下面这样做并且有效,为什么要使用@WebListener注释 public class AppListener implements HttpSessionListener { public void sessionCreated(HttpSessionEvent se) { System.out.println("Session created!"); } public void sessionDestroyed(HttpSessionEv

如果我在下面这样做并且有效,为什么要使用@WebListener注释

public class AppListener implements HttpSessionListener {

    public void sessionCreated(HttpSessionEvent se) {
        System.out.println("Session created!");

    }

    public void sessionDestroyed(HttpSessionEvent se) {
        System.out.println("Session destroyed!");

    }

当然,在这些实现方法中,您无法执行以下操作:

public class AppListener implements HttpSessionListener {
    public void sessionCreated(HttpSessionEvent se) {
    }

    public void sessionDestroyed(HttpSessionEvent se) {
    }
}

像HttpSessionListener这样的侦听器通常用于统计在线人数。过去的一般做法是将登录和退出功能结合起来。

当然,在这些实现方法中,您无法执行以下操作:

public class AppListener implements HttpSessionListener {
    public void sessionCreated(HttpSessionEvent se) {
    }

    public void sessionDestroyed(HttpSessionEvent se) {
    }
}

像HttpSessionListener这样的侦听器通常用于统计在线人数。过去的一般做法是将登录和退出功能结合起来。

我认为您的问题的答案是,在这种情况下,您不需要@WebListener注释,因为侦听器的绑定是在web.xml中配置的。我的猜测是,如果您查看web.xml文件,就会出现如下内容:

<listener>
   <listener-class>com.blam.AppListener</listener-class>
</listener>

com.bum.AppListener

如果没有,那么我怀疑magic…

我认为您的问题的答案是,在这种情况下,您不需要@WebListener注释,因为您的侦听器的绑定是在web.xml中配置的。我的猜测是,如果您查看web.xml文件,就会出现如下内容:

<listener>
   <listener-class>com.blam.AppListener</listener-class>
</listener>

com.bum.AppListener
如果不是,那么我怀疑魔法