通過使用JRE或其他運行時環境,是否可以在Web服務器(如Apache或Nginx)上編譯Java代碼? 具體來說,我想要一個可以接受用戶輸入(Java代碼)的Web應用程序,並且當用戶點擊運行時,它會將Java編譯爲Java Byte代碼並顯示結果,就像Eclipse一樣。
這種技術是否存在? 這是否違背了編譯語言的邏輯? 謝謝您提前預約。 Amicably, James是否可以在Web服務器上編譯Java?
0
A
回答
4
運行Apache的服務器還需要一個JDK。您可以輕鬆將輸入寫入文件,編譯它,運行它,並將結果顯示給用戶。這可以通過在Tomcat中運行的CGI腳本或Java EE應用程序或類似程序完成。一個JDK將是必需的,一個JRE是不夠的。
儘管如此,請考慮潛在的安全風險。根據程序的實際情況,這可能會導致您的計算機或其他計算機出現問題。
1
當然這是可能的。但是您需要一個JDK和一些服務器端腳本(PHP,Ruby,Python,Java ...),它將源代碼作爲輸入並調用Java編譯器來編譯代碼。
你必須考慮的是安全問題。然後每個用戶都可以上傳代碼,這些代碼將在服務器上執行。所以你必須確保代碼在沙箱中運行。
1
有幾個網站這樣做。我用過的一個是http://www.ideone.com。
您可以使用JDK和各種腳本重現此操作,也可以從頭編寫自己的編譯器。無論哪種方式,您都需要某種編譯器來實際編譯代碼。
相關問題
- 1. 是否可以在構建服務器上預編譯ASP.NET Web Forms項目?
- 2. 是否可以在DNN 5網站上編寫SSO Web服務?
- 3. 是否可以在Web服務器上保存用戶會話?
- 4. 是否可以在OpenShift3上部署C++ web服務器?
- 5. 是否可以在常規Web服務器上使用Apache Thrift?
- 6. C編譯器web服務
- 7. 是否可以使用Intel DPDK編寫Web服務器?
- 8. 是否可以在Linux上編譯VST?
- 9. 客戶端java是否可以在服務器上工作?
- 10. 是否可以在aix上編寫COM服務器?
- 11. 是否有gettext .po編輯器在Web服務器上運行?
- 12. 是否可以在本地編譯Typescript文件,但不能在構建服務器上編譯?
- 13. 是否有中間件可以使用Express 4.0在節點Web服務器上編譯LESS CSS?
- 14. 是否有任何體面的編譯器Web服務?
- 15. 是否有Java程序片段可以在JRE 6上使用Java 5編譯器進行編譯,但是不能使用Java 6編譯器進行編譯?
- 16. 編譯是否在Titanium的服務器上完成?
- 17. 在heroku服務器上可以將latex編譯爲pdf嗎?
- 18. 是否可以在VBA中託管Web服務器?
- 19. 是否可以在多個Web服務器之間共享HttpRuntime.Cache?
- 20. 是否編譯了Java EE服務器組件?
- 21. 是否可以使用cygwin編譯Windows服務?
- 22. 是否可以在FreeBSD上運行Flex SDK編譯器?
- 23. 是否可以在不同的機器上編譯?
- 24. 是否可以使用CronTab調用java web服務?
- 25. 是否可以從Unix腳本調用java web服務?
- 26. 是否可以使用.net核心編寫soap web服務?
- 27. 是否可以將Filezilla服務器用作Apache Web Server的備用服務器?
- 28. 是否可以在Web服務器上安裝Android應用程序?
- 29. 是否可以在Linux上爲asp和asp.net設置一個Web服務器?
- 30. 是否可以在Java服務器中添加PHP腳本?
只是在這裏支持博安對安全的評論。用戶編寫的代碼將在您的服務器上運行。他可以訪問文件,進行系統調用等。可以通過在Java中使用安全管理器並限制java進程來加強這一點,但除非您真的知道自己在做什麼,否則不要這樣做。 – sstendal
太棒了,明白了。謝謝。但是,無論何時發送到服務器的編譯請求,是否可以在VM中運行Java代碼? –