Основной поток Struts

Ну, я хочу изучить Struts, поэтому я собираюсь начать с Struts 1, Я хотел бы знать общий поток. Какие файлы требуются?

Какова функция struts-config.xml? validation.xml? валидация-rules.xml Когда вы посещаете свою страницу JSP и запускаете действие, что происходит? Что делает класс Action и Form? Какой класс называется первым, когда действие запускается.

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

Ответ 1

Вам следует начать с учебника по Struts, который позволит легко понять: D. Вы можете найти много в Интернете, особенно для Struts 1. Вот пример отправной точки.

Но только ради этого здесь представлена ​​презентация с высоким представлением.

Сначала вы добавляете Struts ActionServlet в свой web.xml файл и настраиваете его для приема запросов, соответствующих определенному сопоставлению. Для Struts это *.do (вы можете иметь все, что хотите для этого, *.do - это просто соглашение в сообществе Struts).

Теперь все, что прибывает на сервер с таким шаблоном URL *.do, отправляется на ActionServlet.

Теперь содержимое файла struts-config.xml вступает в игру. ActionServlet является фронт-контроллером, который просто отправляет другие подходящие ресурсы для конкретной обработки. Этими ресурсами являются Action классы.

У вас может быть, например, LoginAction, который должен обрабатывать запросы, которые поступают по пути login.do. В struts-config.xml вы указываете это: все, что приходит по пути login, должно быть отправлено в класс LoginAction.

И вы можете иметь столько объявлений, сколько хотите, для пути x вызов XAction, для y вызов YAction и т.д. и т.д.

Обычно ваш клиент передает данные на сервер, данные, которые он вводит в HTML-форму. Эти данные необходимо обработать в классе Action. Теперь введите ActionForm.

ActionForm - это bean, который фреймворк Struts заполняется данными из HTML-формы. Вместо request.getParameter("foo") вы можете работать с такими объектами, как formBean.getFoo().

Как только вы выполните обработку в классе Action с помощью ActionForm, вы должны представить результаты в определенном виде (кстати, Struts является MVC, поэтому вы должны знать об этом тоже).

Представления обычно являются файлами JSP. Когда вы вернетесь из своего Action, вы указываете местоположение "вперед" по имени (т.е. К какому виду идти). Теперь снова информация находится в файле struts-config.xml, где имя представления сопоставляется с JSP-местоположением.

Затем структура будет перенаправлена ​​на этот JSP, JSP представляет данные, которые затем отправляются клиенту как HTML (клиенту больше не нужно будет обращаться к JSP напрямую - они должны быть скрыты с помощью структуры Struts).

На новой странице клиент снова выполняет некоторые запросы, и процесс повторяется.

Хорошо, что о такой высокой презентации, как она может получить. Конечно, есть больше, чем это, но вы обнаружите их, узнав о Struts.

Что касается validator-rules.xml и validation.xml, то они используются Validator, которые вы можете интегрировать с Struts с помощью плагина (у Struts есть плагины, которые вы можете использовать для добавления к нему новых вещей), чтобы добавить подтверждение к пользовательскому вводу.

Ну, вот и все. Вы можете найти множество учебных пособий в Интернете, предлагающих более подробную информацию, но надежда поможет вам начать лучше.

Удачи!

Ответ 2

  • Когда пользователь отправил страницу jsp. эта страница, имеющая (атрибут ) action="login.do". контейнер вызовет web.xml. в этом web.xml есть два раздела сервлетов и отображение сервлетов
  • В сервлет-сопоставлении он находит *.do в шаблоне url. если он возьмите имя сервлета. и проверьте соответствующий класс. в сервлета. этот класс ActionServlet.
  • ActionServlet - это контроллер архитектуры модулей Struts. в Сервлет действия, имеющий метод обслуживания. в этом методе мы создаем RequestPrecessor экземпляр класса
  • Service(req,res) RequestPrecessor rp = new RequestPrecessor();
  • Мы называем метод процесса класса RequestProcessor через экземпляр rp.process(req,res)
  • В классе процессора запросов есть метод процесса с параметр req, res. то в этом классе есть условие 1 if. это условие всегда возвращает true. потому что это фиктивный метод.

Внутри этого условия есть 6 шагов обработки

  • Создайте экземпляр сопоставления действий в Struts- Config.xml. Это будет содержать все детали пути отображения действия, значения, типа forward, validation=true/false, input ="*.jsp" и т.д. эти r созданный экземпляр
  • Затем он создаст экземпляр класса Form, прежде чем он проверит имя сопоставление действий и имя формы совпадают или нет, если они одинаковы создаст экземпляр формы
  • Затем он перейдет к ActionMapping экземпляру, который упоминается в ривере, или нет. validate =true/false Если false, он не выполнит этот шаг еще он выполнит этот шаг.
  • Затем он создаст экземпляр действия
  • Далее потребуется четыре параметра выполнения метода, который он вернет ActionErrors экземпляр. если он не пуст. он перейдет на страницу с ошибкой другой мудрый он попадет на соответствующую страницу. иначе, если он пуст если пойдет дальше и отобразит соответствующее значение страницы в jsp view.This поток стоек.

Ответ 3

Struts MVC Model

модель


Struts не поддерживает модель напрямую. Однако действия и файл конфигурации Struts предоставляют вам возможность реализовать его самостоятельно.

Посмотреть


1) Компонент формы, расширяющий org.apache.struts.action.ActionForm, который используется двумя способами во время выполнения: - Когда страница JSP подготавливает соответствующую HTML-форму для отображения, JSP
страница обращается к компоненту, который содержит значения для помещения в
форма. Эти значения предоставляются из бизнес-логики или из предыдущего пользовательского ввода. - Когда пользовательский ввод возвращается из веб-браузера, компонент проверяет и сохраняет этот ввод либо для использования бизнес-логикой, либо (если проверка не пройдена) для последующего повторного отображения.

2) Библиотеки тегов Struts, такие как плагин bean, logic, html и плитки

контроллер


  1. Сервлет действия Struts обрабатывает события времени выполнения в соответствии с набором правил, которые предоставляются во время развертывания. Эти правила содержатся в файле конфигурации Struts и определяют, как сервлет реагирует на каждый результат, полученный из бизнес-логики. Изменения в потоке управления требуют изменений только в файле конфигурации.
  2. Действие Struts расширяет org.apache.struts.action.Action. Во время выполнения сервлет действия называется "выполнить действия", что означает, что сервлет вызывает метод execute каждого из созданных экземпляров классов действий. Объект, возвращенный из метода execute, указывает сервлету действия, к какому действию или файлу JSP обращаться дальше. Чтобы облегчить повторное использование, вызывайте бизнес-логику из класса действий, а не включайте бизнес-логику в этот класс.

Смотрите пример Struts 1.3

Для сравнения и сравнения, здесь Struts 2.3 demo