我已经将应用程序部署到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。
Debug As > Web Application
测试应用程序
启动服务器,然后在浏览器中访问服务器的URL。如果您使用的是Eclipse和Google Eclipse插件,则服务器默认使用端口8888运行:
http://localhost:8888/guestbook
如果使用dev_appserver命令启动服务器,则默认端口为8080:有关详细信息,请参见以下教程:
教程1:
教程2:
教程3: