ATG сервлет и капелька - PullRequest
       19

ATG сервлет и капелька

0 голосов
/ 23 января 2019

Я новичок в платформе ATG, и я хочу знать разницу между сервлетом и дроплетом в ATG. Я прочитал несколько учебных пособий, но до сих пор не имею четкого представления.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Когда вы говорите только Сервлет , тогда это универсальный программный компонент Java, который обеспечивает функциональность на основе полученного запроса. Сервлет Java должен работать в контейнере сервлета.

Для ATG существуют два типа компонентов, которые называются сервлетами - DynamoServlet и PipelineableServlet .

A DynamoServlet - это базовый класс, который необходимо расширить для создания капли. Droplet - это, по сути, фрагмент кода Java, который можно запустить на странице JSP, работающей в приложении ATG. Он включен на страницу JSP с помощью тега, который предоставляет ATG. Когда JSP выполняется, он выполняет код внутри капли и отображает вывод капли на странице.

A PipelineableServlet - это класс (который является частью цепочки классов, называемых Servlet Pipeline), который обеспечивает функциональность при получении HTTP-запроса. Каждый сервлет в цепочке выполняет определенную операцию по запросу и передает измененный запрос следующему сервлету в цепочке.

0 голосов
/ 25 января 2019

Я не работал с ATG в течение нескольких лет, и вы, возможно, работаете с другой версией, чем я, но простой способ ответить на это - сказать, что сервлеты - это скорее концепция J2EE MVC, контроллер в этом случае, в то время как капли являются «контроллером» ATG. Шаблоны проектирования ATG не совсем MVC (в представлении, как правило, немного больше логики в представлении), но капли предназначены для многократного использования компонентов, которые представление (ваши JSP) используют для получения данных из модели (ваш xxxManager, xxxService, классы уровня репозитория и т. д.)

Например, если я работаю над страницей, предназначенной для отображения корзины покупок, я могу зарегистрировать сервлет "/ Cart" в моем файле web.xml в J2EE. Когда doGet вызывается для этого сервлета, я вызываю все компоненты модели, которые мне нужны для сбора данных о корзине, и использую RequestDispatcher для отправки этих данных в JSP. Вся моя логика модели / контроллера выполняется здесь, а затем отправляется для визуализации представлением.

В ATG вы склонны меньше полагаться на конфигурации web.xml и больше на компоненты, зарегистрированные и созданные Nucleus. Таким образом, вы можете создать свой cart.jsp и использовать такие теги, как, например, для захвата нужных вам данных. У вас может быть капелька, чтобы рассчитать текущую цену и отобразить ее, или применить рекламные акции к профилю и перечислить их. Каждый фрагмент данных, необходимый для страницы, можно использовать для сбора и отображения тега капли.

Можно сказать, что капли, как правило, находятся "на странице", а сервлеты - "между страницами".

...