2

我已将应用程序部署到 GAE 中。当我尝试将网址设为http://aabbbaaacccc.appspot.com/_ah/remote_api时。我收到 404 错误页面。我已在 web.xml 文件中添加。我提供了正确的应用程序 ID。它部署。部署成功后,会出现一个对话框,并显示文件未找到以及记事本。

<servlet>
<display-name>Remote API Servlet</display-name>
<servlet-name>RemoteApiServlet</servlet-name>
<servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RemoteApiServlet</servlet-name>
<url-pattern>/remote_api</url-pattern>
</servlet-mapping>

我需要将我的应用程序部署到服务器并使用其他应用程序启动远程 api 并共享来自其他应用程序的实体。

在过去的两天里,我一直在努力解决这个问题。请帮我。

您可以查看以下链接中的错误对话框。

http://i40.tinypic.com/bfgzki.png

谢谢。

4

1 回答 1

1

Appengine 应该可以正常工作。我已经列出了基本项目设置的所有详细信息。请查看并找到您错过的内容。

Servlet 类

App Engine Java 应用程序使用 Java Servlet API 与网络服务器交互。在目录 src/guestbook/ 中,创建一个名为 GuestbookServlet.java 的文件,其内容如下:

package guestbook;

import java.io.IOException;
import javax.servlet.http.*;

public class GuestbookServlet extends HttpServlet {
    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {
        resp.setContentType("text/plain");
        resp.getWriter().println("Hello, world");
    }
}

web.xml 文件

当 Web 服务器接收到请求时,它会使用称为“Web 应用程序部署描述符”的配置文件来确定调用哪个 servlet 类。该文件名为 web.xml,位于 WAR 中的 war/WEB-INF/ 目录中。WEB-INF/ 和 web.xml 是 servlet 规范的一部分。

在目录war/WEB-INF/中,有一个名为web.xml的文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC
 "-//Oracle Corporation//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
    <servlet>
        <servlet-name>guestbook</servlet-name>
        <servlet-class>guestbook.GuestbookServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>guestbook</servlet-name>
        <url-pattern>/guestbook</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

这个 web.xml 文件声明了一个名为 guestbook 的 servlet,并将它映射到 URL 路径 /guestbook。

appengine-web.xml 文件

App Engine 需要一个额外的配置文件来确定如何部署和运行应用程序。此文件名为 appengine-web.xml,与 web.xml 一起位于 WEB-INF/ 中。

在目录war/WEB-INF/中,有一个名为appengine-web.xml的文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <application></application>
    <version>1</version>
    <threadsafe>true</threadsafe>
</appengine-web-app>

appengine-web.xml 特定于 App Engine,不是 servlet 标准的一部分。您可以在 SDK 中的 appengine-java-sdk/docs/ 目录中找到描述此文件格式的 XML 架构文件。有关此文件的更多信息,请参阅配置应用程序。

运行项目

App Engine SDK 包含一个 Web 服务器应用程序,您可以使用它来测试您的应用程序。

选择Debug As > Web Application

测试应用程序

启动服务器,然后在浏览器中访问服务器的 URL。如果您使用 Eclipse 和 Google Eclipse 插件,则服务器默认使用端口 8888 运行:

http://localhost:8888/guestbook

如果您使用 dev_appserver 命令启动服务器,则默认端口为 8080:详细请参阅以下教程:

教程一:

教程 2:

教程 3:

于 2013-11-07T11:31:47.250 回答