1. что означает «контроллер Struts читает файл struts-config.xml» при запуске веб-приложения?
«Чтение» означает, что Struts проанализирует файл XML и создаст объектные представления тегов, которые вы объявили внутри (например, ActionMapping отражает тег <action>
). Затем эти объекты будут использоваться всякий раз, когда Struts необходимо будет знать различную информацию о конфигурации, избегая необходимости выполнять дорогостоящие операции ввода-вывода, чтобы каждый раз переходить к XML-файлу.
Класс, содержащий правила для анализа файла: org.apache.struts.config.ConfigRuleSet
(javadoc: набор правил Digester, необходимых для анализа файла конфигурации Struts (struts-config.xml)).
2. контроллер создает объекты действий при чтении файла конфигурации Struts?
Нет, это делается позже, когда приходит запрос.
Когда поступает запрос, Struts пытается найти уже существующий экземпляр Action, который соответствует URL-пути. Если он находит его, он возвращает его, иначе он создаст его и сохранит для дальнейшего использования, прежде чем вернуть.
Метод RequestProcessor.processActionCreate
делает это (javadoc: возвращает экземпляр Action, который будет использоваться для обработки текущего запроса, создавая новый при необходимости).