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