java - 执行存储在 String 中的 Java 代码

标签 java

我想知道是否可以将 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/

相关文章:

java - JTree 节点的渲染和字体变化

java - 如何从元素中获取值?

java - JSF 按时间间隔从应用程序 bean 轮询数据库

java - SHA 哈希似乎无法正常工作

java - 无法在 logcat 中获取连接工厂客户端

java - JPanel 不显示所有定制组件

java - 如何返回可用的文件路径?

java - Java 序列化和指针

java - Eclipse:警告:[选项]引导类路径未与-source 1.6一起设置

java - 就像从命令行一样在 Eclipse 中运行 Java 程序