HttpServlet是一个受限制的类。请参阅Google App Engine

时间:2014-04-28 19:50:40

标签: google-app-engine servlets noclassdeffounderror kepler

使用GAE SDK 1.9.3和Java 7在Eclipse Kepler(Windows 7)上运行基本servlet时出现以下错误:

java.lang.NoClassDefFoundError: javax.servlet.http.HttpServlet is a restricted class.
Please see the Google App Engine developer's guide for more details.

重现:

  1. 安装Java 7 SDK
  2. 安装Kepler
  3. 安装GAE Eclipse插件
  4. 创建GAE网络项目
  5. 实现基本servlet的init方法,并在load-on-startup
  6. 中将1设置为web.xml
  7. 然后运行Web应用程序
  8. 我在两台机器上试过,我也遇到了同样的错误。

2 个答案:

答案 0 :(得分:0)

通过扩展HttpServlet创建一个servlet,然后在servlet中覆盖doPost()doGet()方法。例如:

public class FileServlet extends HttpServlet {

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          // do something
    }

答案 1 :(得分:0)

好吧,我发现了什么是错的,这是我的错误。抱歉。当我安装Java 7时,我为JDK和JRE指定了一个不同的目录,这很好,除了我给了相同的位置两次并且文件混淆了。我的GAE问题是副作用。