我想在Eclipse中使用servlet进行开发,但它说包javax。Servlet / jakarta。Servlet无法解析。如何添加javax。Servlet / jakarta。servlet包到我的Eclipse项目?


当前回答

添加javax。xml中的Servlet依赖项。你的问题会解决的。

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

其他回答

我在与“动态Web模块”相关的项目创建过程中得到了一个空指针异常。

让项目进行编译(即,到javax。我必须去项目的属性,在侧边栏中选择项目facet,勾选动态Web模块,然后单击应用。

令人惊讶的是,这一次“动态Web模块”facet安装正确,导入开始工作。

从维基百科。

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文件。

包括服务器lib文件夹中的servlet-api.jar。

执行这一步

快速修复-这在Eclipse中工作-右键单击项目->属性-> Java构建路径(选项卡)->添加外部jar ->定位servlet api jar实现(如果Tomcat -其命名为servlet-api.jar) ->单击确定。就是这样!!

最重要的是,不要手动复制/下载/移动/包含特定于servletcontainer的单个库,比如servlet-api.jar

@BalusC,

我更愿意使用我的应用程序将要使用的确切类,而不是Eclipse提供的类(当我感觉自己像一个偏执的开发人员时)。

另一个解决方案是使用Eclipse“配置构建路径”>库>添加外部jar,并添加任何容器的servlet api。

并且在使用ant构建时遵循@kaustav datta的解决方案-拥有一个类似tomcat的属性。Home或weblogic.home。 然而,它引入了另一个约束,如果使用Weblogic,开发人员必须在他/她的本地机器上安装Weblogic ! 还有其他更清洁的解决方案吗?