2013-11-07 6 views
2

Я развернул приложение в GAE. Когда я пытаюсь использовать url как http://aabbbaaacccc.appspot.com/_ah/remote_api. Я получаю страницу ошибок 404. Я добавил в файл web.xml. Я дал правильный идентификатор приложения. Он развертывается. После успешного развертывания появится диалоговое окно и отобразится файл, не найденный вместе с блокнотом.Удаленный API JAVA-url не работает GAE

<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> 

мне нужно развернуть мое приложение на сервер и запустить Remote API с другими приложениями и обмениваться entites из другого приложения.

Я борюсь с этой проблемой за последние 2 дня. Пожалуйста, помогите мне.

U можно просмотреть диалоговое окно с ошибкой в ​​следующей ссылке.

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

Спасибо.

ответ

1

Appengine должен работать нормально .. Я перечислил все детали для базовой настройки проекта. посмотрите и найдите то, что вы пропустили.

сервлета Класс

App Engine Java приложения используют API Java Servlet для взаимодействия с веб-сервером. в директорию с исходниками/гостевой книге /, создайте файл с именем 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.xml и находится в каталоге war/WEB-INF/в WAR. WEB-INF/и web.xml являются частью спецификации сервлета.

В каталоге война/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 декларирует сервлет с именем гостевой книгой, и отображает его на URL-пути/гостевая книга.

AppEngine-web.xml Файл

App Engine требуется дополнительный файл конфигурации, чтобы выяснить, как развернуть и запустить приложение. Этот файл называется appengine-web.xml и находится в WEB-INF/рядом с web.xml.

В каталоге войны/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, и не является частью стандарт сервлета. Файлы схемы XML, описывающие формат этого файла в SDK, можно найти в каталоге appengine-java-sdk/docs /. Дополнительную информацию об этом файле см. В разделе «Настройка приложения».

Запуск проекта

The App Engine SDK включает в себя приложение веб-сервера можно использовать для тестирования приложения.

Debug As > Web Application.

Тестирование приложения

Запустите сервер, а затем посетить URL-адрес сервера в вашем браузере. Если вы используете Eclipse, и плагин Google для Eclipse, сервер работает через порт 8888 по умолчанию:

http://localhost:8888/guestbook 

Если вы используете команду dev_appserver для запуска сервера, по умолчанию используется порт 8080: Подробной информации смотрите следующие учебные пособия:

Tutorial 1:

Tutorial 2:

Tutorial 3:

+0

у вас есть порты 8888, используемые другим приложением, или ваш сервер разработки движка приложений уже работает. https://groups.google.com/forum/#!topic/google-appengine-java/OlMPFx-lJek – Imran

+0

Также см. Здесь..https: //developers.google.com/appengine/kb/java#sdkport – Imran

+0

Это работает. Большое спасибо. Мне нужна еще одна помощь от вас. Можете ли вы посоветовать мне, как добавить удаленный api для копирования данных из одного приложения в другое. abcdefgh.appspot.com/_ah/_remote_api. – user2919251

Смежные вопросы