Но я не уверен, как получить доступ и отобразить эти данные из другого
сервлет.
Итак, давайте предположим, что у вас развернуто два приложения App Engine: приложение A
и B
. Теперь, если я правильно понимаю ваш вопрос, вы хотели бы получить доступ к хранилищу данных приложения A
из в app B
? Если это так, я боюсь, что вы не можете сделать это изначально .
Как вы видите в этом подобном вопросе, каждое приложение имеет свое собственное хранилище данных, которое изначально не может быть совместно использовано другими (отдельными) приложениями App Engine.
Теперь, сказав, что одним из способов совместного использования данных между отдельными сервлетами было бы создание API поверх хранилища данных. Таким образом, в вашем случае сервлет A
может предоставлять функции получения и установки через интерфейс REST , а сервлет B
может делать все, что нужно с данными.
Обратите внимание, что в этом сценарии сервлет B
необязательно должен размещаться в App Engine, поскольку все вызовы "хранилища данных" теперь становятся простыми вызовами HTTP.
PS Если я полностью неправильно понял ваш вопрос и все, что вы на самом деле спрашивали, это как извлечь что-то из хранилища данных, вот один пример :
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;
// ...
// Get the Datastore Service
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
// The Query interface assembles a query
Query q = new Query("pageText");
// PreparedQuery contains the methods for fetching query results
// from the datastore
PreparedQuery pq = datastore.prepare(q);
for (Entity result : pq.asIterable()) {
String pageOwner = (String) result.getProperty("pageOwner");
String pageName = (String) result.getProperty("pageName");
System.out.println("Page " +pageName+ "'s owner is " +pageOwner);
}