我想在Eclipse中使用servlet进行开发,但它说包javax。Servlet / jakarta。Servlet无法解析。如何添加javax。Servlet / jakarta。servlet包到我的Eclipse项目?
当前回答
包括服务器lib文件夹中的servlet-api.jar。
执行这一步
其他回答
我知道这是一个老帖子。然而,我观察到另一个实例,在该项目中已经添加了Tomcat,但我们仍然得到这个错误。这样做是为了解决: Alt + Enter 项目方面 在右边,在详细信息旁边,是另一个选项卡“运行时间”。 已安装的tomcat服务器将列在那里。选择它。 保存配置并完成!
希望这能帮助到一些人。
假设有一个简单的动态Web项目。确保Tomcat存在于项目的构建路径中。
首先在您的机器上下载/安装本地tomcat实例。假设我们安装了tomcat v8.5。
现在配置Eclipse全局服务器运行时环境
Windows > Preferences > Server > Runtime Environments > Add > Apache > Apache Tomcat v8.5 > Next > Browse Tomcat Installation directory > Next > Finish.
现在创建动态web项目,我们看到导入javax。Servlet无法解决问题。请按照以下步骤解决此问题。
Right Click On Project > Build Path > Configure Build Path > Libraries > Add Library > Server Runtime > Select your Apache Tomcat instance > Finish > Apply and Close.
所有的错误都会消失。
我在与“动态Web模块”相关的项目创建过程中得到了一个空指针异常。
让项目进行编译(即,到javax。我必须去项目的属性,在侧边栏中选择项目facet,勾选动态Web模块,然后单击应用。
令人惊讶的是,这一次“动态Web模块”facet安装正确,导入开始工作。
在我的例子中,当我转到Targetted Runtimes,屏幕时,Tomcat 7没有被列出(禁用),尽管已经安装。
为了解决这个问题,我不得不去首选项->服务器->运行时环境,然后卸载并重新安装Tomcat 7。
从维基百科。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<html>\n" +
"<head><title>Hello WWW</title></head>\n" +
"<body>\n" +
"<h1>Hello WWW</h1>\n" +
"</body></html>");
}
}
当然,这只有在将servlet-api.jar添加到Eclipse构建路径时才有效。通常,您的应用服务器(例如Tomcat)将拥有正确的jar文件。
推荐文章
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- Mockito.any()传递带有泛型的接口
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 使用String.split()和多个分隔符
- Java数组有最大大小吗?
- 在Android中将字符串转换为Uri
- 从JSON生成Java类?
- 为什么java.util.Set没有get(int index)?
- Swing和AWT的区别是什么?
- 为什么Java流是一次性的?
- 四舍五入BigDecimal *总是*有两位小数点后
- 设计模式:工厂vs工厂方法vs抽象工厂
- Java:检查enum是否包含给定的字符串?
- 它的意思是:序列化类没有声明一个静态的最终serialVersionUID字段?