2012-02-22 4 views
0

* 안녕 얘들 아 ..! *main()이 struts2의 액션 클래스에서 필요하지 않은 이유는 무엇입니까?

일반적으로 Java 프로그램은 main() 함수를 사용하여 코드를 실행해야합니다. 그렇지 않으면 오류가 발생합니다 [java.lang.NoSuchMethodError : main "thread"main "예외!]. struts2에서 우리는 액션 클래스 & 빈 클래스 (java 코드)를 사용하지만 main() 함수가 필요하지 않습니다. 이것의 뒤에 개념은 무엇인가 ..? 그건 그렇고 Struts 프레임 워크의 초보자입니다.

답변

0

Struts 프레임 워크가 응용 프로그램을 실행하고 실행할 수있는 인프라를 제공하기 때문입니다. 프레임 워크 사용자는 프레임 워크 코드에 의해 호출되는 특정 클래스를 구현합니다.

Struts 자체는 Tomcat과 같은 응용 프로그램 서버 내에서 실행되며 대개 응용 프로그램 시작에 궁극적 인 책임이있는 main() 메서드가 포함 된 서버입니다.

이것은 inversion of control의 예입니다. 많은 응용 프로그램 프레임 워크가 이러한 방식으로 작동합니다.

0

명령 줄에서 시작된 응용 프로그램에서 main() 메소드가 필요합니다. JVM이이 경우에 실행해야하는 API이기 때문입니다. 다른 프레임 워크 내에서 호출되는 코드는 프레임 워크가 예상하는 API를 구현해야합니다. 대부분의 경우 프레임 워크는 main()을 구현하고 다른 API를 통해 코드를 호출합니다. 이것은 일반적으로 public void main(String[] args)보다 강력합니다. 다른 경우에는 프레임 워크 자체가 다른 추상화 (예 : 앱 컨테이너 내의 웹 프레임 워크 내의 웹 애플리케이션)에서 호출됩니다.

+0

답변 해 주셔서 대단히 감사합니다. 내 의심을 분명히했습니다 ..! –

관련 문제