我为Grails应用程序实现了不常用的架构,因为我制作了前端控制器,它只能进一步转发请求(基于某些标准)。我还将locale解析器实现为http servlet请求过滤器。事实证明,转发的请求再次通过过滤器链传递。所以流程看起来像这样:
在撰写这篇文章的同时,我提出了如何省略问题(我的具体实施)。但我仍然很好奇它为什么会发生?前进应该在幕后工作。 Java EE规范没有说明这种行为(forward javadoc)。
答案 0 :(得分:5)
在<filter-mapping>
元素中,有前向<dispatcher>
选项。它包括FORWARD
。您必须列出要应用过滤器的选项(请求,错误,包含)并向前退出。