我想用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