ClassNotFoundException:Jetty hello world中的javax.servlet.AsyncContext

use*_*970 9 servlets jetty java-ee

我正在尝试按照http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld教程(使用Eclipse).该项目编译得很好.但是,当我点击localhost服务器时,我得到:

java.lang.ClassNotFoundException: javax.servlet.AsyncContext
Run Code Online (Sandbox Code Playgroud)

现在它看起来像是在Java EE中定义了我需要添加到构建路径以使其工作?我已经安装了Java EE,但我不确定从那里开始.

我正在尝试这个

码头,全8.0.4.v20111024.jar

servlet的API-2.5.jar

Bal*_*usC 11

该类是在Servlet 3.0中引入的,它是Java EE 6的一部分.该教程中提到的Jetty 7是一个Servlet 2.5容器.Servlet 2.5是Java EE 5的一部分.您需要升级到Jetty 8,这是一个Servlet 3.0容器.

下载和安装整个Java EE包在这里是没有意义的,因为它基本上为您提供了Java EE参考实现Glassfish,而不是Jetty,而您需要更新版本的Jetty,而不是Glassfish.

你还需要确保没有servlet-api.jar从某个地方下载任意文件并将其放在类路径中,而你手上已经拥有一个像Jetty这样的完整servlet容器(这是一个经典的初学者错误,以避免他们遇到的编译错误关于javax.servletAPI).

也可以看看: