如何将JSP的结果存储在字符串中?

时间:2010-03-22 20:46:14

标签: java jsp java-ee

我想将JSP的结果存储在字符串中。

例如,我希望能够调用类似的函数:

String result = ProcessJsp("/jspfile.jsp");

此外,这必须相当有效。向jsp发出url请求然后存储它是行不通的,因为我在Google App Engine上运行,而且我不确定它会有多慢,而且还有一个你可以制作的url提取数量的配额

我怎么能这样做?

以下是关于如何做到这一点的想法,虽然我不确定它是否会起作用,我希望有更简单的东西:

执行RequestDispatcher("/jspfile.jsp").include(hreq, hresp),但不是将真正的HttpResponse对象放在那里,而是放置自己的getWriter()方法返回写入String或内存缓冲区等的内容。

1 个答案:

答案 0 :(得分:1)

在评论中,您声明您的目标是缓存JSP页面的某些部分。我假设您使用的是动态包含,而不是客户端请求(例如,Ajax)。

如果是前者,那么您最好的解决方案 - 而不是自己写一些东西 - 就是按照说明将EHCache集成到您的应用服务器堆栈中。或者,如果您想自己编写内容,请按照相同的过程创建自己的缓存过滤器。

如果您想缓存将从客户端访问的内容,那么我建议在您的应用服务器前放置一个Web服务器(例如带有mod_cache的Apache)。