要解决找不到 javax.servlet.* 的问题,你需要添加 Servlet API 的 JAR 包,常见的 JAR 名称为:
servlet-api.jarjavax.servlet-api-3.1.0.jar或更高版本
✅ 1. 解决方式一:下载 JAR 包并手动导入
推荐下载版本(带源码/无源码均可):
| 版本 | 下载地址(开源站) |
|---|---|
javax.servlet-api-3.1.0.jar | Maven Repository |
servlet-api-2.5.jar(适配Tomcat6) | Maven Repository |
javax.servlet-api-4.0.1.jar(适配Tomcat9) | Maven Repository |
✅ 将下载的
.jar添加到 IDE 项目的lib目录,并右键设置为Add as Library(Eclipse/IDEA)。
✅ 2. 使用 Maven 自动引入(推荐)
在你的 pom.xml 中添加以下依赖:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
说明:
scope设置为provided表示运行时由 Servlet 容器(如 Tomcat)提供,不打进最终 war 包。
✅ 3. 对应 Servlet 版本说明(建议与服务器匹配)
| Servlet 版本 | Java 要求 | Tomcat 最低版本 |
|---|---|---|
| 2.5 | Java 5 | Tomcat 6 |
| 3.0 | Java 6 | Tomcat 7 |
| 3.1 | Java 7 | Tomcat 8 |
| 4.0 | Java 8 | Tomcat 9 |
| 5.0 | Java 11 | Tomcat 10(使用 jakarta.servlet) |
🚨 注意(Tomcat 10+ 是 jakarta 包命名)
从 Tomcat 10 开始,javax.servlet 更名为 jakarta.servlet,使用需改代码或保持使用旧版本 Tomcat 9 以下。
✅ 示例:使用 servlet-api-3.1.0.jar 编译 Servlet
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().println("Hello Servlet!");
}
}
如果你使用的是 Eclipse + Tomcat,可以告诉我具体版本,我可以帮你导入并配置 .jar 或 .runtime container。如果你还需要 JAR 包离线下载(含打包链接),我也可以直接提供。是否需要我发网盘链接?
发表回复