以编程方式将HttpSessionListener添加到Jetty无法正常工作

时间:2015-11-02 20:52:09

标签: java servlets jetty embedded-jetty jetty-9

我正在使用Jetty 9嵌入式,并尝试使用ServletContext.addListener(T)从我的HttpSessionListener方法中添加Servlet.init()。但是,我的会话侦听器上的方法永远不会被调用。同时,当我让我的监听器类实现ServletRequestListener时,调用与请求监听器相关的方法。我打电话给getSession(),因此应该触发会话创建。

任何想法,解决方法?我误读了这个规格吗?已知问题?

1 个答案:

答案 0 :(得分:2)

ServletContext.addListener()仅在狭窄的范围内支持(按规格)。

可以从2个代码路径中的一个使用它。

  1. ServletContainerInitializer.onStartup(Set<Class<?>> c, ServletContext ctx)
  2. ServletContextListener.contextInitialized(ServletContextEvent sce)
  3. ServletContext.addListener()的所有其他用途均无效。