如何在Java版Google App Engine中动态更新JSP文件的内容?

时间:2012-08-31 09:03:42

标签: java google-app-engine jsp

我目前正在教授一个软件工程课,大约有275名学生正在学习JSP。我希望能够为学生提供在线服务,使他们能够练习基本的JSP技能。这个想法是学生将提供一些JSP代码来传递一些预先确定的测试。

例如:将要求学生提供JSP页面的代码,该页面将返回“Hello NAME”,其中NAME是已传递到页面的GET参数。

对这个问题的正确回答是。

Hello <%= request.getParameter("name") %>

我目前可以使用基于Linux的解决方案来测试这样的学生提交,我将提交的学生代码写入现有的JSP文件,在传递GET参数的同时获取JSP页面,等待Tomcat重新加载和编译JSP页面,解析HTML结果,并将测试结果返回给学生。这个过程相当慢(覆盖磁盘上的JSP文件)并且不能很好地扩展。

我希望能够在Java版本的Google App Engine上运行这个JSP“verifier”,它可以配置为在许多学生同时练习时自动扩展。

我的问题是,如何在不能覆盖现有JSP文件内容的情况下评估Google App Engine中提交的JSP代码?我可以将我想要运行的代码传递给JSP页面并让该页面返回结果吗?

我无法弄清楚是否让页面使用传入的代码来处理传入的GET参数。简而言之,我缺少一个eval()方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我从未尝试过这个,但我会看一下Jasper Compiler(Tomcat的JSP实现)。它可以从.jsp生成一个类文件,您可以从GAE加载它。虽然我也可以想象让它运作所需的努力可能太多了。