gpt4 book ai didi

java - UrlRewriteFilter 匹配多个规则?

转载 作者:行者123 更新时间:2023-11-30 06:35:00 26 4
gpt4 key购买 nike

我有一个工作正常的规则:

<rule>
<from>^/(about|account|admin|cpanel)(\?.*)?$</from>
<to last="true">/faces/pages/$1/$1.xhtml$2</to>
</rule>

当我在上述之后添加以下规则时,加载时出现javax.servlet.ServletException: PWC1232: Exceeded maximum depth for nested request dispatches: 20 异常匹配第一条规则的页面。

<rule>
<from>^/([^\?]+?)/([^\?]+?)(\?.*)?$</from>
<to last="true">/faces/pages/$1/$2.xhtml$3</to>
</rule>

根据documentation ,一旦匹配到第一个规则,就不会处理更多规则,因为我指定了 last="true"。知道我在这里可能遗漏了什么吗?

最佳答案

在 web.xml 中,我更改了它(显示在 UrlRewriteFilter 文档中)

<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>

对此

<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

它开始正常运行。这很奇怪,但它确实有效。

似乎不重新发明轮子的代价是花费 95% 的开发时间来处理 3rd pary 错误。 (GlassFish 是罪魁祸首。)

关于java - UrlRewriteFilter 匹配多个规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6502604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com