如何为tomcat Web应用程序实现控制台命令行?

我有一个Web应用程序

  • 由tomcat 7.1主持
  • 使用spring 3.1 mvc框架。

我想为tomcat控制台窗口实现命令行function,读取命令并执行某些操作或向控制台输出一些信息。 我该怎么做?

示例:键入“ show memory ”,然后将JVM内存信息显示到控制台。

我可以通过System.in做到吗? 会有任何线程安全的问题吗?

如果您在Tomcat中作为Web应用程序运行,则无法访问System.in或控制台:Tomcat通常在后台启动,与所有控制台分离。 并且它不会为您提供有意义的访问控制台。

要做的就是在评论中提供@rlegendi建议的REST API(任何其他API都可以工作),并编写一个与API接口的单独命令行应用程序。 或者使用“管理器”界面 – 如果我从古代过去正确记得,tomcat的管理器应用程序也有一些可用的方法来从外部脚本访问。

确保对这些调用进行身份validation – 至少validation它们是否来自localhost,以便您在API中模拟某种安全性。 不要相信来自世界的随机通话。