我的应用程序中有很多xhtml页面。用户可以看到的第一页名为index.xhtml,当要求用户更新他的个人资料时,它将是updateProfile.xhtml等。当我点击我的应用程序时,我的页面名称会显示在URL
上。当用户更新配置文件时,URL
将为http:/myDomain/myServlet/updateProfile.jsf。
有兴趣知道是否可以将URL
上显示的所有xhtml页面名称映射到其他名称。例如,在上面的例子中,我希望所有匹配* .jsf模式的URLs
作为http:/ myDomain / myServlet / myAccount显示给用户。
如果最终用户知道我的页面名称,我不会看到可能的威胁,但是,我对安全/黑客知之甚少,所以至少我不想在我的URL
中显示* .jsf 。因为,用户可以知道我正在使用JSF。
答案 0 :(得分:1)
在JavaServer Faces中重写URL,你基本上需要一个过滤器。在您的情况下,您可以通过PrettyFaces http://ocpsoft.org/prettyfaces/之类的东西完成重写。
使用PrettyFaces,您将能够配置重写模式和所需的一切。
编辑:在创建自己的过滤器以重定向网址时,您还需要创建一个ViewHandler并覆盖getActionURL()函数,以便操作转到新网址。