jsp文件出现The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path问题

本文介绍如何解决Eclipse中JSP文件无法运行的问题,包括配置Java Build Path及安装Apache Tomcat的具体步骤。

相信大家在eclipse上信心满满写完一个jsp文件时,肯定希望在server上运行出来并进行修改,但是有时候,一些我们不知道的问题总是不能让我们如愿,如下图所示 在这里插入图片描述

这是我在eclipse中新建的一个jsp文件,作用是在网页中显示Hello World,但不知道为什么会出现这样的问题,一开始,我以为是第一行的问题,于是,我把第一行删除了
在这里插入图片描述
好吧,我就知道没这么简单!!!,根据提示是配置Java Build Path的配置问题,于是在在出现此错误的项目上单击鼠标右键>Build Path>Configure Build Path,进入配置界面
在这里插入图片描述
可是之后怎么办呢,该怎么配置呢,在网上找了相关的教程后,发现是缺少了Apache Tomcat,于是我赶紧添加,点击Library>点击Server Runtime>选择Next>
在这里插入图片描述
发现没有可供选择的Tomcat Server
在这里插入图片描述
这时,有些小伙伴肯定慌了,以为要自己没有下载Tomcat Server,又要到某个官网去下某些看也看不懂的Tomcat Server组件,别慌,我这就来帮你解决问题

  1. 选择 eclipse 的WIndows菜单>Preferences 预设
    MacOS 下是 Eclipse 菜单>偏好设置
    在这里插入图片描述
  2. 在左侧列表中找到 Server 项,展开,选中RuntimeEnvironments,右侧点击添加按钮
    在这里插入图片描述
  3. 在搜索框中输入Tomcat,搜索根据你自己的Java EE版本并选择相应的Apache Tomcat,我这里选择的是Apache Tomcat v9.0
    在这里插入图片描述
    单击Next>,并选择相应的Browse…,就是你的Tomcat放置的位置
    在这里插入图片描述
    如果你还没有安装 Tomcat,那可以去官网下载一个压缩包解压到一个目录就可以了。如果实在不会下载,这里有我下载的tomcat9链接: https://pan.baidu.com/s/1UxrnfXpllwemKQvdimtdhg
    提取码: 754b
  4. 完成后单击Finish保存退出即可
    在这里插入图片描述
    发现没有问题了

我们运行试试,在代码任意处右击选择Run As>Run on Server
在这里插入图片描述
单击Finish,静静等待结果出现
在这里插入图片描述
成功了,真令人感到兴奋!!!

### 解决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()); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值