Как вызвать фильтр сервлетов в Play 1.2.x перед маршрутизацией - PullRequest
1 голос
/ 12 марта 2019

В целом:

Мой вопрос касается добавления фреймворка Servlet Filter to Play, который будет вызываться перед маршрутизацией.

Версии:

  • Java 7
  • Play 1.2.6

Дополнительная информация:

  • Я пробовал Playперехватчики с маркером @Before, и это работает.Я бы предпочел использовать фильтр сервлетов, который будет применяться перед маршрутизацией.

Проблема:

  • Фильтр вообще не вызывается даже до или после маршрутизации.Не могли бы вы поделиться своими подлинными решениями со мной, чтобы увидеть, возможно ли использование Servlet Filters в игровой среде

1 Ответ

1 голос
/ 20 марта 2019

AFAIK В Play 1.x нет перехватчиков сервлетов. Вы можете использовать аннотацию @Before для решения некоторых ваших проблем.Но @Before не является полноценной альтернативой перехватчику.Ручной (и немного низкоуровневый) подход может добавить ваш перехватчик для воспроизведения конвейера.Play имеет конфигурацию play.netty.pipeline, которая по умолчанию:

#play.netty.pipeline = play.server.FlashPolicyHandler,org.jboss.netty.handler.codec.http.HttpRequestDecoder,managers.file.CustomStreamChunkAggregator,org.jboss.netty.handler.codec.http.HttpResponseEncoder,org.jboss.netty.handler.stream.ChunkedWriteHandler,play.server.PlayHandler

Вы можете изменить конвейер и добавить свой собственный обработчик перед последним элементом (play.server.PlayHandler) в списке.

...