GWT и динамическая обработка сервера. Они принадлежат друг другу?
-
05-07-2019 - |
Вопрос
Я хочу создать приложение с помощью Gwt и App Engine. Я больше знаком с App Engine: создание динамических HTML-страниц с сервлетами и jsp. Мне интересно, однако, относится ли этот тип прикладных технологий к GWT?
Два примера, которые я могу предвидеть, это проблема входа в систему и поиска в базе данных. Р>
Для входа пользователя в систему мой текущий подход прост: в начале сервлета проверьте, существует ли пользовательский объект. Если это так, покажите страницу. Если это не так, перенаправьте в службу входа Google. Как эта модель вписывается в GWT? Мне кажется, что GWT компилируется в статические файлы html / javascript / css, которые вы размещаете на своем сервере. При таком подходе кажется невозможным выполнить какую-либо обработку сервера для проверки пользователя vlid перед обслуживанием статической страницы (поскольку любой пользователь может просто обойти сервлет и напрямую ввести URL-адрес статической страницы). Р>
Другой пример - показ данных из хранилища данных ядра приложения. Если бы я хотел создать таблицу, каждая строка которой была бы записью из хранилища данных, я бы динамически создал html в сервлете, сделал бы там доступ к хранилищу данных и т. Д. И т. Д. Похоже, с GWT мне пришлось бы обслуживать html-контейнер страницы, а затем использовать ajax для загрузки содержимого базы данных после факта?
Возможно, GWT не подходит для моего типа приложений, или, может быть, я просто неправильно отношусь к разработке веб-приложений. Некоторые разъяснения будут оценены. Р>
Решение
В более упрощенном смысле типичное приложение GWT будет работать так:
<Ол>Пользователь переходит на вашу веб-страницу. Их браузер использует статические URL-адреса для загрузки всех javascript, css и изображений, необходимых для запуска вашего приложения.
С этого момента каждый раз, когда пользователь нажимает кнопку или иным образом взаимодействует со страницей, данные извлекаются с помощью вызова AJAX. Так что да, они могут загрузить ваше приложение перед входом в систему, но все ваши конфиденциальные данные будут возвращены только с помощью вызова ajax, что даст вам возможность подтвердить свою личность, как вы пожелаете (cookie, user / pass и т. Д.)
Это в основном то, что вы описываете во втором примере о загрузке данных из хранилища данных. Похоже, вы думаете, что это плохо по какой-то причине, но вы не говорите, почему. Р>