我们正在使用Spring 2.5在Java App Engine上构建一个应用程序。如何确定Spring中的页面呈现时间(在Google App Engine/Java上)?
我想在显示页面渲染时间的页脚中添加一些内容。
Spring或GAE/J中的最佳代码钩在哪里来计算渲染时间并将其放入Spring模型以进行JSP呈现?
我们正在使用Spring 2.5在Java App Engine上构建一个应用程序。如何确定Spring中的页面呈现时间(在Google App Engine/Java上)?
我想在显示页面渲染时间的页脚中添加一些内容。
Spring或GAE/J中的最佳代码钩在哪里来计算渲染时间并将其放入Spring模型以进行JSP呈现?
这有点棘手。 做这件事最有意思的方法可能是一个servlet过滤器。 但问题是,当响应返回到过滤器时,它已被写入。所以你只能在标记,不从一个HTML点有意义的末尾写它,但..
让您有三个基本的选择,来我的脑海:
1 )创建一个Filter,包装整个outputStream将其写入缓冲区,并用渲染时间替换“特殊字符串”。然后将修改后的缓冲区写入真正的输出流。
2)在请求开始时分配一个随机/增加的令牌。将请求持续时间保存在全球地图/会话映射中。编写一个javscript,在页面加载后触发,在页面某处写出响应时间。 3)假的整个事情,并计算使用javscript/cookies没有服务器测量任何东西的响应时间。
我已经强制它像2),我认为它确定。
注意这个答案不是GAE特定的,而是servlet2.x特定的。这并不重要。
嗯,关于2的一个问题:Spring代码中的哪个尽可能接近请求的开始?在@RequestHandler方法似乎有点晚(发送后),但也许不是。 那么3呢?饼干如何涉及? 顺便说一句,谢谢你的回答! – dfrankow 2009-07-30 02:35:18