Есть ли способ извлечь логи из внешнего интерфейса в Spring MVC? - PullRequest
2 голосов
/ 02 ноября 2019

У меня есть веб-сайт с множеством ссылок, и я хочу знать, какие ссылки выбрал пользователь

Я попытался написать небольшой скрипт с использованием JS, который отправляет какие-то журналы на сервер

Я хочу знать, есть ли способ сделать это намного проще

1 Ответ

0 голосов
/ 02 ноября 2019

Полагаю, если вы хотите работать с пружиной, чтобы получить эти данные, у вас есть две возможности (возможно, есть и другие):

Перехватчики пружин

В этом случае вы создадите пружинуперехватчик, который будет отслеживать запросы, сделанные на вашей странице, в этом случае пользователь нажимает. Итак, для этого вам нужно создать класс, который будет содержать ваше правило и расширить HandleInterceptor или HandlerInterceptorAdapter и выбрать, какой метод лучше всего подходит для сбора полезной для вас информации. Методами, предоставляемыми интерфейсом, являются preHandle, postHandle и afterCompletion. После создания вашего перехватчика вам необходимо зарегистрировать его в WebMvcConfigurerAdapter. Вот два примера:

Регистрация активности пользователя: Spring

Перехват входящих запросов с использованием перехватчика Spring

События Spring

В этом случае вам нужно использовать Spring 5 и Spring-boot 2. С помощью событий Spring вы можете получать и отслеживать многие виды событий, включая щелчки. В этом случае вам нужно создать пользовательское событие, содержащее данные, относящиеся к тому, что вы хотите отслеживать, опубликовать его, создать прослушиватель и настроить AsynchronousSpringEventsConfig. Уже есть некоторые предварительно созданные события, предоставляемые платформой, такой как RequestHandledEvent, и вы можете проверить их, чтобы убедиться, что они соответствуют вашему случаю. Вот хорошая ссылка с хорошим объяснением: Весенние события

Использование Javascript

И при желании вы также можете использовать JS и перезаписать событие onclick, как это делал парень в этот вопрос по stackoverflow .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...