以编程方式将HttpSessionListener添加到Jetty不起作用
问题描述:
我正在使用嵌入式Jetty 9并尝试使用ServletContext.addListener(T)
从我的Servlet.init()
方法中添加HttpSessionListener
。但是,我的会话侦听器上的方法不会被调用。同时,当我让侦听器类实现ServletRequestListener
时,请求侦听器相关的方法被调用。我打电话getSession()
,所以会触发会话创建。以编程方式将HttpSessionListener添加到Jetty不起作用
任何想法,解决方法?我误读了规范吗?已知问题?
答
ServletContext.addListener()
仅在狭义范围内支持(每个规格)。
它可以从2个代码路径之一中使用。
ServletContainerInitializer.onStartup(Set<Class<?>> c, ServletContext ctx)
ServletContextListener.contextInitialized(ServletContextEvent sce)
的ServletContext.addListener()
所有其他用途无效。