【问题标题】:Faces Servlet Application URL JSF/GlassfishFaces Servlet 应用程序 URL JSF/Glassfish
【发布时间】:2014-04-01 08:50:07
【问题描述】:

所以我假设一个名为 MyApplication 的应用程序。我在 glassfish 上使用虚拟服务器部署它,一切都很好,因为我设置了默认的欢迎页面。假设虚拟服务器要监听 mydomain.com

我转到 mydomain.com,我看到我的应用程序的索引文件很好。然后我去做一个 j_security_check 登录。

然后我被重定向到:http://mydomain.com/MyApplication/page.xhtml

我怎样才能得到它是:http://mydomain.com/page.xhtml

现在,如果我确实将 MyApplication 从 URL 中取出并尝试手动转到该页面,它是空白的,因为我相信它没有被 JSF 处理。

我尝试过的。 * 将默认 glassfish 应用程序设置为我的应用程序并将我的应用程序的上下文路径设置为 /(glassfish 抱怨,我无法部署我的应用程序) * 在不将我的上下文路径设置为 / 并保持原样的情况下执行与上述相同的操作。 将部署但同样的问题。

我想要这个的主要原因是,如果有人确实被重定向到没有应用程序名称的路径,会话状态似乎会有所不同。并导致会话冲突和值未正确传递的一些零星问题。所以我要么想强制 URLS 一直使用 ApplicationName,要么为了一致性而强制它们不使用它。

应该有办法实现这一点,因为我认为我们不应该总是在 URL 中包含 ApplicationName。

如果可以,请提供帮助,我通过搜索找到的内容似乎可以处理初始请求,但在使用 FacesContext extenralContext 重定向进行重定向时却没有。

除非我没有正确重定向。我在这里不知所措。

感谢您的帮助。

【问题讨论】:

    标签: java jsf glassfish-4


    【解决方案1】:

    恕我直言,您应该考虑尽快使用PrettyFaces

    您的应用程序 URL 将始终优雅地显示给您的用户。

    【讨论】:

    • Prettyfaces 重写请求路径,而不是上下文根。
    • 没错。这就是他想要的……使请求与上下文根不同。使用漂亮的面孔,上下文对用户来说是完全隐藏的。
    • 不是 100% 我想去掉上下文根,而不是简单地重写它。我可以使用 prettypfaces 将 domain.com/MyApplication/members/test.xhtml 更改为 domain.com/members/test.xhtml 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 2013-08-10
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多