我为 Grails 应用程序实现了不常用的架构,因为我制作了仅进一步转发请求的前端控制器(基于某些标准)。我还将语言环境解析器实现为 http servlet 请求过滤器。事实证明,转发的请求再次通过过滤器链。所以流程看起来像这样:
- 请求到达 grails 应用程序
- 请求通过我的过滤器
- 前端控制器获取请求并进一步转发
- 转发的请求再次通过我的过滤器
- 后台控制器获取请求
在写这篇文章的同时,我想出了如何省略这个问题(我的具体实现)。但我还是很好奇为什么会这样?前锋应该在幕后工作。Java EE 规范没有说明这种行为(forward javadoc)。