почему main () не требуется в классах действий struts2? - PullRequest
0 голосов
/ 22 февраля 2012

* Привет, ребята! *

Обычно Java-программе требуется функция main () для выполнения кода, в противном случае она выдаст ошибку [java.lang.NoSuchMethodError: Исключение main в потоке "main"] ..! В Struts2 мы используем классы действий и классы компонентов (Java-коды), но им не нужна функция main (). Какова концепция этого ..? Кстати, я новичок в структуре Struts.

Ответы [ 2 ]

0 голосов
/ 22 февраля 2012

Вам нужен метод main () в приложениях, запускаемых из командной строки, поскольку это API, который JVM ожидает выполнить в этом случае.Код, вызываемый из других фреймворков, должен реализовывать любой API, который ожидает фреймворк.Во многих случаях эта платформа реализует main () и вызывает ваш код через какой-то другой API.Это обычно более надежно, чем позволяет public void main(String[] args).В других случаях сама инфраструктура вызывается из другой абстракции (например, веб-приложение в веб-платформе в контейнере приложений).

0 голосов
/ 22 февраля 2012

Это связано с тем, что инфраструктура Struts обеспечивает инфраструктуру для запуска и запуска приложения. Как пользователь платформы, вы реализуете определенные классы, которые вызываются кодом инфраструктуры.

Сам Struts работает внутри сервера приложений, такого как Tomcat, и обычно это сервер, содержащий метод main(), который в конечном итоге отвечает за запуск вашего приложения.

Это пример инверсии управления - многие прикладные платформы работают таким образом.

...