我想知道是否可以将 Java 代码发送到 servlet,让 servlet 接收并执行它?
例如,我会将一段代码作为 String
发送,该代码将被添加并执行。有人能想出我该如何处理这个问题的方法吗?
最佳答案
这当然是可能的 - 您可以发送经过 Base64 编码的已编译字节码,然后在 servlet 中对其进行解码并使用类加载器来加载它。
或者您可以发送类似编码的 jar 文件,将其保存到磁盘并将其添加到自定义 URLClassLoader。
但是,如果代码不受信任,您可能会遇到重大安全问题。
参见What are the security risks I should guard against when running user-supplied Java code?
关于java - 执行存储在 String 中的 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384653/