java - 以编程方式将 HttpSessionListener 添加到 Jetty 不起作用

标签 java servlets jetty embedded-jetty jetty-9

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

有什么想法、解决方法吗?我是否误读了规范?已知问题?

最佳答案

ServletContext.addListener()仅在狭窄的范围内受支持(根据规范)。

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

  1. ServletContainerInitializer.onStartup(Set<Class<?>> c, ServletContext ctx)
  2. ServletContextListener.contextInitialized(ServletContextEvent sce)

ServletContext.addListener() 的所有其他用途无效。

关于java - 以编程方式将 HttpSessionListener 添加到 Jetty 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33486689/

相关文章:

java - 获取 : HTTP Status 500 - Could not determine type for: Integer : What could be the reason for it?

java - Java中如何匹配数据库中不同表的唯一ID并根据该唯一ID检索数据?

java - 从外部 jar 部署 servlet 时 Jetty 6.x 中出现 NullPointerException

java - 无法将 .txt 文件的第一行与字符串进行比较

java - 如何通过 maven 从下载的 zip(解压)文件向项目添加依赖项

java - 分页大结果集的最佳方法是什么-Java

java - 如何从 Eclipse 在 jetty 8 上运行 Web 服务 Maven 项目?

java - 部署简单的 Web 应用程序时,java 文件(即 servlet)不在服务器 (Tomcat) 上运行

java - 从非 servlet 类读取 web-inf 下的文件

java - 无法使用 Firefox 50 通过 SSL 连接到 Jetty 9 服务器