2012-02-21 42 views
1

我想知道是否有可能將Java代碼發送到servlet將要執行的servlet?執行存儲在字符串中的Java代碼

例如,我會發送一大塊代碼String,這將被添加和執行。任何人都可以想出一種方法來解決這個問題嗎?

+2

相關:http://stackoverflow.com/questions/2946338/how-do-i-programmatically-compile-and-instantiate-a-java-class/2946402#2946402 – BalusC 2012-02-21 20:51:48

+1

你能解釋一下你的用例更詳細,特別是你爲什麼要在運行時執行'String'? (這是一個非常嚴重的代碼味道...) – 2012-02-21 21:47:38

回答

0

來自JDK的tools.jar包含用於編譯Java代碼(由Ant等使用)的類,如果需要,還可以使用Eclipse編譯器。這是可能的,但從安全的角度來看(代碼注入等),這將是災難;)

+0

*但從安全的角度來看(代碼注入等),這將是災難*;那爲什麼要提到它呢? – 2012-08-22 14:45:37

+2

因爲相信自由選擇;) – 2012-08-22 17:45:48