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


当前回答

从维基百科。

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

其他回答

步骤1

转到项目属性(用Alt+Enter或右键单击)

步骤2

在目标运行时下检查Apache Tomcat v7.0,它可以工作。

和Hari有一点不同:

右键单击项目——>属性——> Java构建路径——>添加库…——>服务器运行时——> Apache Tomcat ---->完成。

这也可能是原因。我已经提出以下pom.xml。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

未解决的问题是由于排除了spring-boot-start -tomcat。只需删除<排除>…</exclusions>依赖它将解决问题,但确保这样做也将排除嵌入式tomcat服务器。

如果你也需要嵌入式tomcat服务器,你可以添加相同的依赖编译范围。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>compile</scope>
</dependency>

对于专业项目,添加以下依赖项:

<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

参考

对于gradle项目:

dependencies {
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'
}

或者下载javax.servlet.jar并添加到您的项目中。

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

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

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