大神帮忙啊,简单介绍一下jsp核心内容如下:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
    <title>测试</title>   
  </head>
  
  <body>
   <form action="/test/testServlet" method="post">
    请在下面的文本区域,写一段代码,计算1*2*3*4*5的结果<br/>
    <textarea rows="8" id="context" ></textarea><br/>
    <input type="submit" value="提交代码">
    </form>
  </body>
</html>怎么在servlet中将文本域中的代码执行,并获得它执行的结果,在后台打印出来。servletjspwebJ2EEaction

解决方案 »

  1.   

    可以考虑在servlet中调用cmd命令javac java
    也可以找找有没有直接的库编译执行字符串形式的java文件
      

  2.   

    Java 7 Applet Remote Code Execution你上网查查相关资料吧,也许对你有帮助
      

  3.   

    这样可以不?
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>   
        <title>测试</title>   
      </head>
       
      <body>
          <form action="/test/testServlet" method="post">
            请在下面的文本区域,写一段代码,计算1*2*3*4*5的结果<br/>
            <textarea rows="8" id="context" >
            <%
            int i = 1*2*3*4;
            System.out.println(i);
            %>
            </textarea><br/>
            <input type="submit" value="提交代码">
        </form>
      </body>
    </html>
      

  4.   

          InputStream ins = null;;
           String[] cmd = new String[] { "cmd.exe", "/C", "ipconfig" };   
            try {
           
                Process process = Runtime.getRuntime().exec(cmd);
                 ins = process.getInputStream(); //cmd 的信息
                 
                 BufferedReader reader = new BufferedReader(new InputStreamReader(ins));   
                    String line = null;   
                    while ((line = reader.readLine()) != null) {   
                        System.out.println(line);  //输出 
                    } 
                    
                    int exitValue = process.waitFor();   
                    System.out.println("返回值:" + exitValue);  
                    process.getOutputStream().close(); //不要忘记了一定要关
                    
            } catch (Exception e) {
                
                e.printStackTrace();
            } 
      

  5.   

    具体的我不太会,能不能写一个完整的关于编译执行一个在D盘的HelloWorld.java文件,谢谢啊!