1

我正在做我的学校项目,当我在 appengine 上部署我的 java(Web 应用程序)时,我不断收到错误消息:

       Error: Server Error

       The server encountered an error and could not complete your request.
       If the problem persists, please report your problem and mention this error message and the query that caused it.

我一直在与教程并行工作,遵循与教程相同的步骤: http: //trumpy.cs.elon.edu/joel/sigcse2011/。很久以前我一直在做同样的教程,它工作得很好,但现在我用我自己的数据重做它,我只是用它来建立一个我确信它可以工作的结构。

问题是当我尝试在数据存储中执行保存时,我不断收到此错误。可能是因为我一直在做一些日食更新?否则,我看不出这不起作用的原因(我一直在一遍又一遍地重新检查我的代码,我认为如果它是一个逻辑错误或我做错了什么,我应该收到另一种类型的错误)。

我想补充一点,部署是成功的,当我访问 .appspot.com 时,我看到了问候消息,但是当我单击启动执行保存操作的 servlet 时,我收到了这个错误。

提前感谢您,任何帮助表示赞赏。

LE:我一直在尝试从应用引擎 SDK 1.8.0 切换到 1.7.7,正如我在一些网站上看到的那样,但没有成功。

LE:这就是我的日志的样子,我正试图弄清楚如何解释它。感谢您在这个意义上的任何帮助,我对这些问题感到抱歉,但与谷歌应用引擎相关的一切对我来说都是新的:):

EXCEPTION 
java.lang.ClassNotFoundException: pack.classesDAO.projectServlet

javax.servlet.ServletContext log: unavailable
javax.servlet.UnavailableException: pack.classesDAO.projectServlet

Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@190d003{/,/base/data/home/apps/s~projectServlet/1.367688587833153738}
java.lang.NullPointerException

Uncaught exception from servlet
javax.servlet.UnavailableException: Initialization failed.

此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。因此,与您的应用程序的典型请求相比,此请求可能需要更长的时间并使用更多的 CPU。

有些非常直观,所以我会再看一遍,但有些我不知道它们是什么意思。

实际上,这是我现在得到的例外:

      java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1008)

我有一个想法可能是:

      double theHeadacke = Double.parseDouble(req.getParameter("headacke"));

但我不确定这里有什么问题。

这是我的 web.xml

    <?xml version="1.0" encoding="utf-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
    <servlet-name>DiplomaThesisRoxana</servlet-name>
    <servlet-class>pack.servlets.DiplomaThesisRoxanaServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DiplomaThesisRoxana</servlet-name>
    <url-pattern>/diplomathesisroxana</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>

4

1 回答 1

1

Ajava.lang.ClassNotFoundException在您的类路径中缺少指定的类时发生。所以pack.classesDAO.projectServlet不是你认为它应该在的地方,名称不同,或者根本不存在。

从您的编辑

  java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1008)
I have an idea from where it might be:

      double theHeadacke = Double.parseDouble(req.getParameter("headacke"));

HttpServletRequest#getParameter(String)null当 HTTP 请求中没有该名称的参数时返回。检查您的客户是否将其作为请求的一部分发送。例如,您应该有一个属性设置为的表单<input>元素。nameheadacke

于 2013-05-28T14:27:57.013 回答