Сведения о клиенте в классе действий struts 2

#web-applications #struts2

#веб-приложения #struts2

Вопрос:

просто хотел узнать, возможно ли узнать следующие подробности, если внешнее приложение выполняет вызов моего класса действий на основе Struts 2.2. 1. IP-адрес и системное имя клиента, который совершил вызов2. Любые другие сведения о клиенте, которые могли поступить как часть http-запроса.

Спасибо

Ответ №1:

В журнале доступа к контейнеру вашего приложения будет записана основная информация о запросе.

Если вам нужна дополнительная информация, есть множество способов сделать это, включая стандартный фильтр сервлетов (IMO, вероятно, лучшая идея, поскольку он не привязан к платформе S2) или перехватчик Struts 2. Любой из них может регистрировать любую необходимую вам конкретную информацию, включая информацию из сеанса (например, идентификатор пользователя для конкретного приложения).

Комментарии:

1. итак, из среды struts 2 (читаемый класс действий) я могу получить доступ к объекту http-запроса и найти IP-адрес запрашивающего клиента. Возможно ли это?

2. Да, вы можете реализовать ServletRequestAware , и HttpServletRequest это будет внедрено в ваше действие. Однако, как сказал Дейв, это лучше использовать в фильтре или перехватчике, если вы хотите регистрировать информацию обо всех или многих различных типах запросов.