9.3.4 验证
远程执行功能的编码到此就完成了,接下来就要检验一下我们的劳动成果了。如果只是测试的话,那么可以任意写一个Java类,内容无所谓,只要向System.out输出信息即可,取名为TestClass,同时放到服务器C盘的根目录中。然后,建立一个JSP文件并加入如代码清单9-8所示的内容,就可以在浏览器中看到这个类的运行结果了。
代码清单9-8 测试JSP
<%@page import="java.lang.*"%>
<%@page import="java.io.*"%>
<%@page import="org.fenixsoft.classloading.execute.*"%>
<%
InputStream is=new FileInputStream("c:/TestClass.class");
byte[]b=new byte[is.available()];
is.read(b);
is.close();
out.println("<textarea style='width:1000;height=800'>");
out.println(JavaClassExecuter.execute(b));
out.println("</textarea>");
%>
当然,上面的做法只是用于测试和演示,实际使用这个JavaExecuter执行器的时候,如果还要手工复制一个Class文件到服务器上就没有什么意义了。笔者给这个执行器写了一个“外壳”,是一个Eclipse插件,可以把Java文件编译后传输到服务器中,然后把执行器的返回结果输出到Eclipse的Console窗口里,这样就可以在有灵感的时候随时写几行调试代码,放到测试环境的服务器上立即运行了。虽然实现简单,但效果很不错,对调试问题也非常有用,如图9-4所示。
图 9-4 JavaClassExecuter的使用