为什么在struts2的动作类中不需要main()?

时间:2012-02-22 04:43:17

标签: java struts2 javabeans

* Hello Guys ..! *

通常一个java程序需要main()函数来执行代码,否则它会返回一个错误[java.lang.NoSuchMethodError:主要的异常在线程“main”] ..!在struts2中,我们使用的是动作类& bean类(java代码)但它们不需要main()函数。这背后的概念是什么?顺便说一下,我是Struts框架的新手。

2 个答案:

答案 0 :(得分:0)

这是因为Struts框架提供了启动和运行应用程序的基础结构。作为框架的用户,您可以实现框架代码调用的特定类。

Struts本身在Tomcat等应用服务器内部运行,通常它是包含main()方法的服务器,该方法最终负责启动您的应用程序。

这是inversion of control的一个例子 - 许多应用程序框架以这种方式工作。

答案 1 :(得分:0)

在从命令行启动的应用程序中需要一个main()方法,因为这是JVM在这种情况下期望执行的API。从其他框架中调用的代码必须实现框架所期望的任何API。在许多情况下,该框架实现main()并通过其他API调用您的代码。这通常比public void main(String[] args)允许的更强大。在其他实例中,框架本身是从另一个抽象中调用的(例如,应用程序容器内的Web框架内的Web应用程序)。