我想用java ee/servlets运行bash脚本。 我希望它嵌入在Web应用程序中,在Linux操作系统中使用tomcat 7。如何在嵌入的web应用程序中使用tomcat 7运行bash脚本(linux)?
回答
- 嵌入脚本的Web应用程序,在例如战争文件的根目录。
String scriptPath = getServletContext().getRealPath("/script.sh");
运行脚本使用的ProcessBuilder类:
new ProcessBuilder("/bin/sh", scriptPath).start();
注意,
一旦应用程序部署获取的文件路径如果您的servlet容器不提取war文件的内容,则步骤2可能会失败。在这种情况下,您必须将该脚本作为类路径中的资源,将其内容复制到临时文件中,然后在其中运行脚本。
存在涉及此解决方案的安全问题,因此应谨慎使用。如果您在战争中放置脚本,用户可以看到脚本源代码。 IMO最好使用CGI解决方案,因为它旨在通过设计来处理外部程序。 –
1-ok.2和3:我在servlet中有他们?如何知道3.是否正在工作? – oikonomopo
您可以在由ProcessBuilder创建的Process上调用'getInputStream()'来跟踪脚本的输出。 –
您必须搜索如何在Tomcat上启用和使用CGI。
CGI(通用网关接口)定义了一种Web服务器与外部内容生成程序(通常称为CGI程序或CGI脚本)交互的方式。
- 1. 如何在java-ee web应用程序中运行bash脚本?
- 2. 在Tomcat 7上运行的Web应用程序中的NoClassDefFoundError
- 3. 如何在eclipse中使用tomcat运行maven web应用程序
- 4. 在TOMCAT上运行的Web应用程序的URL模式7
- 5. 如何在嵌入式Tomcat上运行JAX-RS应用程序?
- 6. 在tomcat上运行web应用程序
- 7. 如何在Windows 8应用程序中从Web运行脚本?
- 8. JSF + REST Web应用程序在Apache Tomcat运行7
- 9. 在Linux服务器上使用web应用程序来运行脚本
- 10. bash脚本运行使用扫描器的Java应用程序
- 11. Tomcat - 运行Web应用程序
- 12. 无法在使用Docker的tomcat上运行web应用程序
- 13. 在Python Web应用程序中嵌入python/dsl脚本
- 14. 如何从运行应用程序在Tomcat上部署Web应用程序
- 15. 无法在eclipse中使用嵌入式Tomcat运行mavenized GWT应用程序
- 16. 在Tomcat 7上使用Kundera JPA的Java Web应用程序
- 17. 从Android应用程序远程运行bash脚本的步骤
- 18. 在移动应用程序中嵌入web应用程序
- 19. 如何在Tomcat上运行的应用程序使用System.getProperty()
- 20. 在asp.net web应用程序中运行praat脚本
- 21. 我想在Tomcat从.war文件部署我的Web应用程序时运行bash脚本 - 这可能吗?
- 22. 如何在Linux上运行ASP.NET Core Web应用程序?
- 23. 如何在运行不同程序时运行bash脚本?
- 24. 嵌入式Tomcat下的Web应用程序部署7.0.32
- 25. 如何使用不同于tomcat的用户在tomcat中运行我的web应用程序?
- 26. 运行Web应用程序在本地
- 27. 将tomcat嵌入Grails应用程序
- 28. 如何将Web会议室嵌入到Web应用程序中?
- 29. 如何从Tomcat Web应用程序运行PhantomJS
- 30. 在adb shell上运行linux bash脚本
来吧靴子,开始散步。 (也就是告诉我们你试过的是什么,以及你得到的错误信息)。祝你好运。 – shellter