如何在 Play 1.2.x 路由前调用 servlet 过滤器
How to invoke servlet filter in Play 1.2.x before routing
总体:
我的问题是关于在路由之前调用 Play 框架项目添加一个 Servlet Filter。
版本:
- Java 7
- 播放 1.2.6
更多信息:
- 我尝试使用@Before 标记播放拦截器并且它有效。我更愿意在路由之前使用 servlet 过滤器。
问题:
- 甚至在路由之前或之后根本不调用过滤器。您能否与我分享您的真正解决方案,看看是否可以在 Play 框架中使用 Servlet 过滤器
据我所知,Play 中没有 servlet 拦截器 1.x 您可以使用 @Before 注释来解决您的一些问题。但是 @Before 并不是拦截器的完全合格替代品。
手动(有点低级)的方法可以将拦截器添加到播放管道。 Play 有一个配置 play.netty.pipeline
,默认为:
#play.netty.pipeline = play.server.FlashPolicyHandler,org.jboss.netty.handler.codec.http.HttpRequestDecoder,play.server.StreamChunkAggregator,org.jboss.netty.handler.codec.http.HttpResponseEncoder,org.jboss.netty.handler.stream.ChunkedWriteHandler,play.server.PlayHandler
您可以修改管道并在列表中的最后一个元素 (play.server.PlayHandler
) 之前添加您的自定义处理程序。
总体:
我的问题是关于在路由之前调用 Play 框架项目添加一个 Servlet Filter。
版本:
- Java 7
- 播放 1.2.6
更多信息:
- 我尝试使用@Before 标记播放拦截器并且它有效。我更愿意在路由之前使用 servlet 过滤器。
问题:
- 甚至在路由之前或之后根本不调用过滤器。您能否与我分享您的真正解决方案,看看是否可以在 Play 框架中使用 Servlet 过滤器
据我所知,Play 中没有 servlet 拦截器 1.x 您可以使用 @Before 注释来解决您的一些问题。但是 @Before 并不是拦截器的完全合格替代品。
手动(有点低级)的方法可以将拦截器添加到播放管道。 Play 有一个配置 play.netty.pipeline
,默认为:
#play.netty.pipeline = play.server.FlashPolicyHandler,org.jboss.netty.handler.codec.http.HttpRequestDecoder,play.server.StreamChunkAggregator,org.jboss.netty.handler.codec.http.HttpResponseEncoder,org.jboss.netty.handler.stream.ChunkedWriteHandler,play.server.PlayHandler
您可以修改管道并在列表中的最后一个元素 (play.server.PlayHandler
) 之前添加您的自定义处理程序。