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


当前回答

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

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

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

其他回答

假设有一个简单的动态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.

所有的错误都会消失。

这也可能是原因。我已经提出以下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>

我们中的许多人通过Maven项目在Eclipse中进行开发。如果是这样, 你可以通过Tomcat -servlet-api和Tomcat -jsp-api罐子在Maven中包含Tomcat依赖项。每个版本的Tomcat都有一个。通常在POM中添加范围就足够了。这将使您的构建更加可移植。

如果将来升级Tomcat,也只需更新这些jar的版本。

从维基百科。

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

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