【发布时间】:2009-07-29 22:55:18
【问题描述】:
我们正在使用 Spring 2.5 在 Java 中的 Google App Engine 上构建一个应用程序。
我想在页脚中添加一些显示页面渲染时间的内容。
Spring 或 GAE/J 中用于计算渲染时间并将其放入 Spring 模型中进行 JSP 渲染的最佳代码挂钩在哪里?
【问题讨论】:
标签: performance spring google-app-engine
我们正在使用 Spring 2.5 在 Java 中的 Google App Engine 上构建一个应用程序。
我想在页脚中添加一些显示页面渲染时间的内容。
Spring 或 GAE/J 中用于计算渲染时间并将其放入 Spring 模型中进行 JSP 渲染的最佳代码挂钩在哪里?
【问题讨论】:
标签: performance spring google-app-engine
这有点棘手。 最合理的方法可能是 servlet 过滤器。 但问题是,当响应返回到过滤器时,它已经被写入了。所以你可以写它,但只能在标记的末尾,从 html 的角度来看这没有意义..
所以我想到的基本上是三个选择:
1) 创建一个过滤器,包装整个 outputStream 并将其写入缓冲区并用渲染时间替换一个“特殊字符串”。然后将修改后的缓冲区写入真正的输出流。
2) 在请求开始时分配一个随机/递增的令牌。将请求持续时间保存在全局映射/会话映射中。编写一个在页面加载后触发的 javscript,在页面中的某处写出响应时间。
3) 伪造整个事情并使用 javscript/cookies 计算响应时间,而不需要服务器测量任何东西。
我已经像 2) 一样实施了它,我认为它还可以。
注意这个答案不是 GAE 特定的,而是 servlet2.x 特定的。没关系。
【讨论】: