小编典典

远程API JAVA网址不起作用GAE

java

我已经将应用程序部署到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,并共享来自其他应用程序的实体。

我在过去2天中一直在努力解决此问题。请帮我。

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

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

谢谢。


阅读 213

收藏
2020-11-26

共1个答案

小编典典

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

Servlet类

App Engine Java应用程序使用Java Servlet API与Web服务器进行交互。在目录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标准的一部分。您可以在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:有关详细信息,请参见以下教程:

教程1:

教程2:

教程3:

2020-11-26