要解决找不到 javax.servlet.*
的问题,你需要添加 Servlet API 的 JAR 包,常见的 JAR 名称为:
servlet-api.jar
javax.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 包离线下载(含打包链接),我也可以直接提供。是否需要我发网盘链接?
发表回复