如何解决JSP页面顶端报错 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

本文介绍了解决JSP项目中出现的javax.servlet.http.HttpServlet未在Java构建路径中找到的问题。提供了两种解决方案,一种是手动创建库并添加Tomcat的*.jar文件,另一种是更换Tomcat版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目有点长,昨天刚接触jsp,按照网上的教程安装完 tomcat 和 eclipse EE 之后,新建jsp文件却出现了如下报错:

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

教程没有问题,传送门:http://www.runoob.com/jsp/jsp-setup.html

下面给出问题及解决方案:

1.报错内容:

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path


2. 解决方案:

在 Java Build Path 中添加 tomcat 的 library,具体步骤参考该页面:http://jingyan.baidu.com/article/f79b7cb34f40569144023ef9.html,图文并茂非常详细。

3.特殊情况:

如果以上方案不能解决问题,在 jsp 页面上仍然报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

此时,我们就应该先来看一下,我们在 Java Build Path 中新添加的 library 是否如图下所示。(我安装的 tomcat 版本是 tomcat 9.0.0.M9)可以看到,Apache Tomcat v9.0 的 library 下是空的,并没有 jar 包,相当于系统并没有去 tomcat 的安装目录把 tomcat 的 lib 文件夹中的 *.jar 文件正确的添加进来。 So,只能我们自己手工导入了。


解决方案一:

因此,我们可以自己新建一个library,然后到 tomcat 的安装目录下把 tomcat 的 lib 文件夹中的 *.jar 文件全部添加进我们新建的 library 里。步骤如下。

1)打开 Java Build Path,打开 Add Library,选择 User Library,点击 Next。


2)此时进入的页面,就是用户自己建立的 library 页面了。在 User libraries 列表,可以看到用户在之前建立的 library。 点击 User Libraries 按钮。接着点击 New 按钮,建立新的library。


3)输入新 library 的名字:newLibraryForTomcat。点击 OK。


4)为 newLibraryForTomcat 配置 jar 包。①单击选中 newLibraryForTomcat  ②单击 Add External JARs ,此时会弹出一个 JAR Selection 窗口,蓝色框所示是 我们安装的 tomcat 的 lib 的路径,在此路径下,使用 ctrl + A 选中所有 *.jar 文件  ③单击“打开”按钮  ④单击 OK 按钮。

此时,我们就新建了一个名为 newLibraryForTomcat 的 library。


5)接下来,我们就可以在 Java Build Path 的 Libraries 中添加我们的 newLibraryForTomcat。步骤如下 ① ② ③ ④。



6)点击 OK 按钮。完成啦。


这时候再来看看我们的 jsp 文件,页面头部的报错已经消失了。


解决方案二

 之前安装的 tomcat版本是 tomcat 9.0.0.M9。后来换了一个 tomcat 8,按照第二部分的解决方案,系统就自动地去 tomcat 的安装目录把 tomcat 的 lib 文件夹中的 *.jar 文件正确的添加进来了…… 对此我也表示疑惑。不知道自己是不是在安装 tomcat 9.0.0.M9 的时候出了问题。如果有了解的同学们……烦请指点我一下,不胜感激。


OVER

### 解决Eclipse JSP项目中 'javax.servlet.http.HttpServlet' 类未在Java构建路径上找到的问题 此问题通常发生在开发动态Web应用程序时,当项目的构建路径缺少必要的库或运行时环境配置不当时。以下是详细的分析和解决方案: #### 1. 配置服务器运行时环境 如果 `javax.servlet` API 的类无法被识别,则可能是因为尚未正确配置服务器运行时环境。可以通过以下方式解决问题[^4]: - 打开 **Window -> Preferences -> Server -> Runtime Environments**。 - 单击 **Add** 按钮,选择适合的 Apache Tomcat 版本或其他支持 Servlet 的应用服务器。 - 填写 Apache 或其他服务器的实际安装目录。 完成上述步骤后,重新启动 Eclipse 并验证错误是否消失。 #### 2. 添加服务器到项目属性 即使已经设置了服务器运行时环境,仍需将其关联至当前项目才能正常工作。具体操作如下: - 右键单击项目名称,选择 **Properties**。 - 转到 **Project Facets** 页面,启用 **Dynamic Web Module** 和相关依赖项(如 Java EE)[^3]。 - 切换到 **Targeted Runtimes** 页面,勾选之前添加的服务器实例。 通过这些设置可以确保项目能够访问所需的 Servlet 库。 #### 3. 使用Maven管理依赖关系 对于基于 Maven 构建的项目,应确认 pom.xml 文件已包含正确的 servlet-api 依赖声明。例如: ```xml <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> ``` 注意 `<scope>` 设置为 provided 表明该库由目标容器提供,在编译阶段可用但在部署时不打包进 WAR 文件[^5]。 #### 4. 清理并重建工程 有时缓存可能导致某些更改未能生效。执行清理命令有助于刷新状态: - 在菜单栏依次点击 Project -> Clean... ,然后选择对应的项目进行清除处理; - 如果仍然存在问题,可尝试删除 .metadata 文件夹下的 workspace 数据后再重试一次整个过程。 综上所述,按照以上方法逐一排查即可有效解决因缺失 HttpServlet 导致的一系列异常情况。 ### 示例代码片段 下面展示了一个简单的继承自 HttpServletServlet 实现例子供参考: ```java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/example") public class ExampleServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().append("Served at: ").append(request.getContextPath()); } } ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值