2

我试图在页面上显示类似于谷歌搜索时间的服务器响应时间,比如“页面加载大约 1.3 秒”左右。

实现这一目标的最佳方法是什么?我目前有一个 MVC 框架设置,我最初的方法是将初始时间存储在控制器中,并将其作为模型传递到视图中,由视图来计算经过的时间。

不知何故,我觉得必须有一种更好的方法,对于所有请求,上​​下文可能已经记录了请求开始时间或经过时间的信息。

有人可以验证我最初的想法是否正确吗?还是存在已经实施的解决方案?

谢谢,

杰森

4

2 回答 2

3

您可以使用 servlet 过滤器将开始时间存储在每个请求(或至少对页面的每个请求)的请求属性中,并在视图执行结束时计算经过的时间。

如果您使用 Tiles 或 SiteMesh 之类的模板引擎,则此经过时间计算将在一个地方调用:页面模板。

于 2012-05-28T20:18:34.533 回答
3

如果您一直等到您的控制器,您可能会错过很多“加载时间”。您想使用过滤器在流程中尽可能早地对请求进行计时。Java EE 教程有更多关于编写过滤器的细节。还有另一个 SO answer 可以解决这个问题:

在 Spring MVC 中,在哪里开始和结束计数器来测试速度执行时间?

于 2012-05-28T20:19:58.463 回答