Dis*_*tum 2 java url-rewriting
我有一个规则可以正常工作:
<rule>
<from>^/(about|account|admin|cpanel)(\?.*)?$</from>
<to last="true">/faces/pages/$1/$1.xhtml$2</to>
</rule>
Run Code Online (Sandbox Code Playgroud)
当我在上面添加以下规则后,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>
Run Code Online (Sandbox Code Playgroud)
根据文档,一旦第一个规则匹配,就不应该处理更多规则,因为我指定了last="true".知道我在这里可能缺少什么吗?
在web.xml中,我更改了这个(在UrlRewriteFilter文档中显示)
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
对此
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
它开始表现得很好.这很奇怪,但它确实有效.
似乎没有重新发明轮子的价格花费了95%的开发时间来处理第三个错误.(GlassFish是主要罪犯.)
| 归档时间: |
|
| 查看次数: |
1718 次 |
| 最近记录: |