当前位置: 首页 > 面试题库 >

远程API JAVA网址不起作用GAE

宰父飞白
2023-03-14
问题内容

我已经将应用程序部署到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

谢谢。


问题答案:

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:



 类似资料:
  • 问题内容: 我的CSS文件是: 这是我的HTML代码: 上面的代码在Firefox和Chrome中都可以正常运行。 这在Chrome浏览器中效果很好。但不是在Firefox中。这有什么问题? 问题答案: Firefox 在元素上和/或当源是图像时不支持与Chrome不同的属性。 表示内容图像。如果使用它,它应该有和。 从规格: src属性必须存在,并且必须包含有效的非空URL,该URL可能被引用非

  • 问题内容: 当我尝试使用以下命令触发构建时,出现以下错误: 卷曲http:// jenkins_server:port / jenkins / job / job_name / build?token = token_name 输出: 需要验证 <-您的身份验证为:您所在的匿名 组: 权限,你需要有(但没有):hudson.model.Hudson.Read …这是暗示:hudson.securi

  • 出现问题: 通过ssh到远程服务器,我有: 节点由NVM安装。另外,我让node使用16.9.1,它没有改变任何东西。通过ssh(Login-shell)可以很好地工作。 GEMFILE: 错误 rake STDERR:纱线需要安装Node.js4.0或更高版本 我所做的一切 谢了!克里斯

  • 我在服务器上得到的日志是“user[]from host localhost not have administration access#]”,但我已经更改了管理密码并用它登录。所以我不明白为什么我的用户是空的。而且,尽管我认为这与此无关,但它说证书已经过期。

  • 我是库伯内特斯的新手,我正在学习。我有我的视窗8机器,我在那里安装了瓦格兰特。使用流浪者,我运行ubuntu虚拟机,在虚拟机中,我运行3个docker容器。 流浪者档案: 容器 in Ubuntu VM : 在同一个VM中,现在我安装了迷你库贝和库贝特,如此链接中所述 迷你库贝版本: kubectl版本: 迷你库贝在我的 ubuntu VM 中成功启动。我已经创建了 文件。 使用这个yml文件,我

  • 我能够在本地实例上成功执行JMX文件,但在远程系统(从属)上执行失败。我使用的是最新版本的捷视通。这是我第二次面对这个问题。 你能告诉我这里有什么遗漏吗。我最初认为这是因为我已将脚本从“执行”中关闭,但这里并非如此。 我的脚本(JMX)有一个事务控制器(在线程组下),带有一些超文本传输协议请求。 从命令行执行的代码如下所示。当我从 Run 执行时,它的结果相同 sh Jmeter.sh -n -t