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

标签 java spring tomcat web

我有一个网络应用程序

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

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

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

我可以只通过 System.in 来完成吗?会不会有线程安全的问题?

最佳答案

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

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

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

关于java - 如何为 tomcat web 应用程序实现控制台命令行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19508748/

相关文章:

java - 构造函数错误

java - Playstore Android 预启动测试致命异常 : ControllerMessenger

java - toString:什么时候使用?

java - Spring Boot的Mybatis ResultHandler无法运行

java - Spring MVC 中整数(最终类)的 CGLib 代理

java - java 构造函数中 List<String> 中的重复值

java - Spring安全角色分配

eclipse - 使用 Tomcat 设置环境变量

java - 使用Powershell用tomcat servlet-api.jar编译java

java - 扩展 tomcat 上的可重新加载目录集