为什么我收到“无法解析导入 javax.servlet.http.HttpFilter”?

Nil*_*h C 1 eclipse maven servlet-filters jakarta-ee

我有一个在 Tomcat 8.0.50 上运行的 Maven 项目。我试图在 Servlet 之前放置一个过滤器来验证某些表单数据。我尝试按照此扩展 HttpFilter 抽象类。

但 Eclipse 不断抛出此错误:

“无法解析导入 javax.servlet.http.HttpFilter。”

但是,我可以导入其他类javax.servlet.* and javax.servlet.http.*

另外,我可以实现该Filter接口。

有什么帮助吗?

mis*_*der 5

HttpFilter 类可用于 java-ee 8(带有 servlet 4.0)。Tomcat 版本 8.xxx 正在实现 Servlet 3.1。tomcat 版本 9 实现了 Servlet 4.0。

您可以添加 java-ee 8 依赖项并使用 HttpFilter 类。(或切换到 tomcat 9 并添加范围提供的依赖项)

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>8.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

http://tomcat.apache.org/whichversion.html