2016-12-23 6 views
0

Я пытаюсь понять развертывание приложений в Google App Engine с помощью java. Похоже, если используется java, это больше похоже на развертывание веб-приложения, которое расширяет Java-сервлет (HttpServlet). Сообщите мне, может ли приложение Java быть развернуто без использования сервлета или jsp.Google App Engine Развертывание Java и отношения Servlet/jsp

Я согласен в дополнение к стандартным развертываниям веб-приложений, для этого потребуется конкретная конфигурация GAE, то есть appengine-web.xml. Но мой вопрос в основном связан с требованием сервлета для развертывания на основе Java.

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

+0

, какие приложения вы хотите развернуть тогда? –

+0

Я в основном буду разрабатывать Android-приложения, для которых требуется несколько скриптов на стороне сервера. Но независимо от вида приложения, мне любопытно понять, действительно ли GAE всегда зависит от Servelt или JSP, прямо или косвенно. В соответствии с нижеприведенным ответом от 3371862, я требую выполнить сервлет/jsp, хотя он автоматически генерируется через конечную структуру. –

ответ

0

Как я понимаю, вы хотите общаться с сервером через HTTP. Сервлеты являются наиболее распространенным способом поддержки этого протокола в JVM, если вы не хотите реализовать протокол на некотором низком уровне, например, в Netty.

Servlet представляет собой набор интерфейсов java, но не требуется их реализовать самостоятельно. Большинство веб-фреймворков Java предоставляют вам некоторую реализацию. Я имею в виду, что кто-то должен написать этот сервлет один раз, но, скорее всего, он был написан авторами карьеры много лет назад, вам даже не нужно думать о его реализации.

Например, я не помню, как писал сервлет с 2003 года, но у меня много рабочих веб-приложений на GAE. Большинство из них основаны на Spring, у него есть Spring Dispatcher Servlet, который выполняет всю обработку HTTP-запроса/ответа для вас.

Так что ответ: да App Engine является Servlet приложение, контейнер и вам нужно один, но это очень маловероятно, что вы будете писать сервлет самих

+0

Спасибо, это имеет смысл .. можете ли вы, пожалуйста, дать мне имя широко используемых лучших ракурсов google и non googles –

+0

Для GAE _Google Endpoints_ рекомендуется, особенно если вы пишете приложение под Android. Для общих webapps я рекомендую Spring MVC, как наиболее гибкую структуру –

0

В зависимости от того, какие инструменты (фреймворки) вы используете в App Engine, вы можете или НЕ писать сервлеты и JSP. Например, если вы используете конечные точки Google (https://cloud.google.com/endpoints/docs/frameworks/java/about-cloud-endpoints-frameworks), вы не будете писать какой-либо сервлет самостоятельно: они будут автоматически генерироваться самой картой.

С другой стороны, вполне возможно развернуть свои собственные сервлеты и JSP и соответствующим образом адаптировать файл web.xml.

+0

ОК, означает ли это, что в конечном итоге это потребует сервлета и JSP, однако работа кадров в конечной точке может написать их нам? –

+0

Java Cloud Endpoints (работает в App Engine) «требует» сервлетов (а не JSP), но для вас это прозрачно: как сказано выше, сервлеты автоматически генерируются. Другое большое преимущество для Android (со ссылкой на ваш комментарий выше, где вы упоминаете, что вы создаете приложение для Android) заключается в том, что он также автоматически генерирует компоненты клиентских библиотек для Android, что значительно ускорит работу на стороне Android. –