漂亮面孔的重定向

Men*_*nno 1 java jsf redirect prettyfaces

我遇到过一个问题,其中Pretty Faces将导致无限循环,由我的浏览器结束: Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

问题的确切原因

文件结构

在此输入图像描述

pretty-config.xml片段

<url-mapping id="login">
    <pattern value="/login" />
    <view-id value="/login/login.xhtml" />
</url-mapping>

<url-mapping id="register">
    <pattern value="/register" />
    <view-id value="/login/register.xhtml" />
</url-mapping>
Run Code Online (Sandbox Code Playgroud)

描述

导航localhost:8080/register将导致我的网页.导航到localhost:8080/login将导致描述的循环,请注意导航将导致重定向到localhost:8080/login/< - 斜杠.

我猜,localhost:8080/login是对文件夹的请求login.但我不知道如何解决它,所以我的请求localhost:8080/login将导致网页.

提前致谢.

chk*_*kal 5

我过去也遇到过这个问题.问题是你的Servlet容器.如果您要请求一个URL /login,那么就是容器检查,如果您的Web应用程序中有一个名为的目录login.如果是这样,它会将您重定向到/login/,因为容器认为您想要到达此目录.如果还有删除尾部斜杠的重写规则,您将看到这样的行为.

我知道这很奇怪,但tomcat用户列表上的一些人写道,这种行为是根据规范.

因此,唯一的解决办法是要么改变/login/login/你的映射或在你的webapp重命名文件夹登录.