如何在 Play 1.2.x 路由前调用 servlet 过滤器

How to invoke servlet filter in Play 1.2.x before routing

总体:

我的问题是关于在路由之前调用 Play 框架项目添加一个 Servlet Filter。

版本:

更多信息:

问题:

据我所知,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) 之前添加您的自定义处理程序。