Реализация веб-приложения
Чтобы создать новое веб-приложение SberMobile с нуля, необходимо реализовать несколько классов Java.
Класс веб-приложения
Класс веб-приложения должен реализовывать интерфейс WebApplication
. Перепишите методы deploy()
и stop()
, чтобы зарегистрировать и отменить регистрацию веб-приложения.
Пример: регистрация веб-приложения: |
Обратите внимание, что путь контекста используется в запросе к этому приложению. Второй параметр - это имя веб-приложения (файл WAR).
Пример: отмена регистрации веб-приложения: |
Используйте ранее сохраненный контекст, чтобы отменить регистрацию веб-приложения.
Класс плагина
Класс плагина должен быть унаследован у AbstractContextPlugin
. Вам потребуется переписать один из наследуемых методов, чтобы добавить веб-приложение на веб-сервер.
Пример: использование метода globalInit, чтобы добавить веб-приложение: |
Этого будет достаточно для многих веб-приложений. Для всех остальных это обычный класс плагина. Можно прочитать больше о его реализации в соответствующей теме.
Класс java-сервлет
Класс Java-сервлет должен быть унаследован от HttpServlet
. Этот класс и его методы являются ответственными за процессы запросов и ответов. Детализированную информацию о реализации сервлета можно найти в соответствующей документации https://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/HttpServlet.html.
Пример: Простая реализация doGet: |
Особое внимание необходимо обратить на взаимодействие сервлета и SberMobile Server. Посмотрите на пробную версию веб-приложения в наборе средств разработки, чтобы найти примеры взаимодействия контекстов и использования прав доступа пользователей.
Измение дескриптора плагина
Чтобы создать дескриптор плагина для веб-приложения, измените следующее в демо-файле plugin.xml
:
Измените последнее слово в атрибуте
id
тэга<plugin>
для нового ID плагина. ID должен содержать только строчные буквы, цифры и символы подчеркивания. Например, если ID вашего предполагаемого плагина - этоxyz
, вам понадобится установить ID атрибут вcom.tibbo.aggregate.common.plugin.context.xyz
Измените атрируб
class
тэга<plugin>
на полное имя класса плагинаВведите описание компонента в тело тэга
<doc-text>
Измените атрибут
id
тэга<extension>
на новый ID плагина
Изменение дескриптора внедрения
Дескриптор внедрения описывает, как должно внедряться веб-приложение. Чтобы его создать, нужно изменить следующее в демо-файле web.xml
:
Изменить содержимое элемента
<display-name>
Изменить элемент
<servlet-name>
для элементов<servlet>
и<servlet-mapping>
Изменить
<servlet-class>
на полное имя класса Java-сервлетаИндивидуализировать сопоставление сервлета и установить другие настройки внедрения при необходимости
Больше информации о внедрении веб-приложения можно найти на веб-сайте https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html. |
Создание и внедрение архива плагинов
Следуйте этим шагам, предназначенным для файла build.xml
из примера:
Измените имя проекта и имена файлов назначения (файлы JAR и WAR)
Запустите
build.gradle
, используя Gradle, чтобы создать файлы JAR и WARСкопируйте файл JAR в
%SberMobile Server Installation Folder/plugins/context
, когда SberMobile Server не запущенСкопируйте файл WAR в
%SberMobile Server Installation Folder/admin
, когда SberMobile Server не запущенЗапустите SberMobile Server
Выполните требования для веб-приложения
Обратите внимание, что после первого запуска веб-приложение будет распаковано из файла WAR в папку с подходящим именем. Веб-сервер работает с нераспакованным приложением из папки. Таким образом, если файл WAR меняется, удалите папку со старой версией приложения до запуска SberMobile Server. |
Создание веб-приложения требует дополнительные файлы в пути сборки в дополнение к
|