我有一个网络应用程序
我想为tomcat控制台窗口实现命令行功能,以读取命令并执行一些操作或向控制台输出一些信息。我该怎么做?
示例:键入“ show memory ”,然后显示JVM内存信息到控制台。
我可以做System.in吗?会有线程安全问题吗?
System.in
如果您在Tomcat中作为Web应用程序运行,则将无法访问System.in或控制台:Tomcat通常是在后台启动,与所有控制台分离。它不会为您提供对控制台的有意义的访问。
可行的方法是提供@rlegendi在注释中建议的REST API(任何其他API也可以使用),并编写一个与您的API接口的单独的命令行应用程序。另外,也可以使用“管理器”界面- 如果我记得很久以前的话,tomcat的管理器应用程序也提供了一些可用于从外部脚本访问的方法。
确保对这些调用进行身份验证-至少验证它们来自本地主机,以便在API中模拟某种安全性。不要相信来自世界各地的随机呼叫。