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