2012-05-28 2 views
2

Я пытаюсь отобразить время отклика сервера на странице, аналогичное поисковому запросу Google, что-то вроде «страницы, загруженной примерно за 1,3 секунды» или около того.Spring MVC: как узнать время загрузки страницы?

Каков наилучший способ достижения этого? В настоящее время у меня установлена ​​структура MVC, и мой первоначальный подход состоял в том, чтобы сохранить начальное время в контроллере и передать его в качестве модели в представление, и он рассчитан на вычисление прошедшего времени.

Как-то я чувствую, что должен быть лучший подход, что для всех запросов контекст может уже содержать записанную информацию - время начала запроса или прошедшее время.

Может кто-нибудь, пожалуйста, проверьте, была ли моя оригинальная мысль правильной? или существует уже реализованное решение?

Спасибо,

Jason

ответ

3

Если вы дожидаетесь до вашего контроллера, вы, возможно, не будете пропускать много времени загрузки. Вы хотите использовать Filter для запроса запроса с самого раннего, как можно позже. Учебник Java EE имеет more details on writing Filters. Там также другой SO ответ, который занимается именно этим:

In spring MVC, where to start and end counter to test for speed execution time?

+0

Действительно оцените различные ссылки! – Jason

3

Вы можете использовать сервлет фильтр для хранения времени начала в атрибуте запроса для каждого запроса (или, по крайней мере, для каждого запроса на страницу), и вычислить время, прошедшее в конце выполнения вашего представления.

Если вы используете механизм шаблонов, такой как Tiles или SiteMesh, это вычисление прошедшего времени будет вызываться в одном месте: шаблон страницы.

+0

Спасибо за ответ - я буду смотреть в фильтр. – Jason

Смежные вопросы