大神帮忙啊,简单介绍一下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中将文本域中的代码执行,并获得它执行的结果,在后台打印出来。
servlet jsp web J2EE action
------解决方案--------------------
可以考虑在servlet中调用cmd命令javac java
也可以找找有没有直接的库编译执行字符串形式的java文件
------解决方案--------------------
Java 7 Applet Remote Code Execution
你上网查查相关资料吧,也许对你有帮助
------解决方案--------------------
这样可以不?
<%@ 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>
------解决方案--------------------
想实现一个类似“在线编程”的功能吗?
我支持一楼的想法。。。
因为代码提交的时候,一切早就都已经编译完了。
要把你当参数传的这一小段代码重新编译才行。
------解决方案--------------------
InputStream ins = null;;
String[] cmd = new String[] { "cmd.exe", "/C", "ipconfig" };
try {
Process process = Runtime.getRuntime().exec(cmd);
ins = process.getInputStream(); //cmd 的信息