javax servlet 过滤器与 Jersey 过滤器

标签 java servlets jersey

<分区>

我正计划编写一个 servlet 应用程序(用于使用 OSGI 进行部署)并使用一些过滤器进行 HTTP header 预处理。虽然最初选择了 javax.servlet 过滤器实现,但我突然想到我实际上不知道为什么/何时会选择使用它而不是 Jersey ContainerRequestFilter。 当然后者带有一些预建的过滤器,但可以说前者也是如此(例如 Cors 过滤器)。 因此,在选择使用哪种 API 时应该考虑什么?是否有特定情况下不应使用一个来支持另一个?

最佳答案

来自 https://dennis-xlc.gitbooks.io/restful-java-with-jax-rs-2-0-en/cn/part1/chapter12/server_side_filters.html

[...] servlet 过滤器环绕 servlet 处理并在相同的 Java 调用堆栈中运行。因为 JAX-RS 有一个异步 API,所以 JAX-RS 过滤器不能在同一个 Java 调用堆栈中运行。在调用 JAX-RS 方法之前,每个请求过滤器都会运行到完成。 [...]

我认为,这是一个关键的区别,在选择一个或另一个时应该考虑到这一点。

关于javax servlet 过滤器与 Jersey 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24497349/

相关文章:

java - 如何从 eclipse e4 中的处理程序执行方法获取图标

java - 我如何向我的 gwt 树提供数据

java.lang.NoClassDefFoundError : org/camunda/bpm/model/bpmn/instance/FlowNode

java - 如何告诉我的 java exe 读取同一文件夹中的 ini 文件?

java - 最适合存储日期和时间的 SQL 和 Java 数据类型

html - Servlet返回“HTTP状态404请求的资源(/Servlet)不可用”

java - 如何在 Java 中使用 servlet 过滤器来更改传入的 servlet 请求 url?

java - Apache Http 客户端编码 UTF-8 不起作用

java - 如何在 jackson 序列化中自定义日期,@JsonSerialize不起作用

java - Dropwizard 客户端类型不匹配