繁体   English   中英

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

[英]why main() is not necessary in action classes of struts2 ?

* 大家好! *

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

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

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

这是控制反转的示例-许多应用程序框架都以这种方式工作。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM