Контроллер в Struts

Это - действительно странная/необычная конфигурация в SVN, даже я думаю, что это далеко от того, чтобы быть "хорошей практикой" вообще, так или иначе, я предполагаю, что Вы могли сделать что-то как:

  • Контроль все sourcetree (svn co therootsourcetree)
  • Удаляют соединительную линию (svn соединительная линия комнаты)
  • Копия, ответвление к соединительной линии (svn CP branches/thebranch / соединительная линия)
  • Удаляет ответвление (svn комната branches/thebranch)
  • Фиксация изменения

Удача

8
задан Clarence 3 July 2012 в 10:00
поделиться

3 ответа

In Struts, application Controller layer code/functionality is split into two parts:

  • ActionServlet with RequestHandler
  • Action classes

ActionServlet acts like FrontController pattern.

alt text

Image from this OnJava article.

15
ответ дан 5 December 2019 в 06:53
поделиться

ActionServlet - это контроллер IMO.

В более широком смысле, ActionServlet вместе с RequestProcessor и Действие и информацию об инициализации из struts-config.xml можно было бы назвать контроллером в приложении struts.

3
ответ дан 5 December 2019 в 06:53
поделиться

Класс действия struts фактически является Контроллером, поскольку он определяет, что должно произойти дальше при обработке запроса (из браузер). У класса Action есть метод execute, который содержит логику контроллера. Класс Action - хороший пример использования Command Pattern .

Файл struts-config.xml содержит информацию о маршрутизации, которая определяет, к какому контроллеру (классу действий) направляется запрос. Хорошей практикой является иметь более одного контроллера, как правило, у вас есть один контроллер для каждого представления, но это не строгое правило, и у вас может быть более одного контроллера для каждого представления, если представление сложное и имеет различные функции, которые заслуживают разделения задач внутри контроллеров.

Кроме того, будьте осторожны, чтобы не перегружать классы контроллеров бизнес-логикой, это приведет к дублированию кода внутри контроллеров, когда код должен быть перенесен в бизнес-классы на уровне модели вашего Приложение MVC.

0
ответ дан 5 December 2019 в 06:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: