1

我有一个网络应用程序

  • 由tomcat 7.1托管
  • 使用 spring 3.1 mvc 框架。

我想为 tomcat 控制台窗口实现一个命令行功能,以读取命令并执行一些操作或将一些信息输出到控制台。我该怎么做?

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

我能做到System.in吗?会有任何线程安全的问题吗?

4

1 回答 1

1

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

可行的方法是提供@rlegendi 在评论中建议的 REST API(任何其他 API 也可以)并编写一个单独的命令行应用程序来与您的 API 交互。或者使用“管理器”接口——如果我从古代没记错的话,tomcat 的管理器应用程序也有一些从外部脚本访问的可用方法。

确保对这些调用进行身份验证 - 至少验证它们来自本地主机,以便您在 API 中模拟某种安全性。不要相信来自世界各地的随机电话。

于 2013-10-22T09:37:26.800 回答