【问题标题】:Setting application URL on WAS server, where does /faces/ come from?在WAS服务器上设置应用程序URL,/faces/来自哪里?
【发布时间】:2013-12-14 11:32:48
【问题描述】:

在WAS服务器上部署应用程序时,URL是如何设置的?除了我设置的上下文路径之外,我还在 URL 中获得了 /faces/。我不知道这是从哪里来的。

【问题讨论】:

    标签: jsf url


    【解决方案1】:

    /faces/ 可识别为 JSF 1.0/1.1 样式的 URL 模式,其中 FacesServlet 通常默认映射基于 IDE 生成的项目配置,开发人员随后未对其进行编辑。您可以在web.xml 中看到类似这样的内容:

    <servlet-mapping>
        <servlet-name>Faces Servlet<servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    

    也许还有一个&lt;welcome-file&gt;,例如faces/index.xhtml 左右。

    为了摆脱它,只需将其替换为*.xhtml

    <servlet-mapping>
        <servlet-name>Faces Servlet<servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
    

    这样你就可以通过http://example.com/context/page.xhtml而不是http://example.com/context/faces/page.xhtml打开JSF页面,从而触发FacesServlet(即负责所有JSF工作的那个)。

    或者,当您实际使用旧版 JSF 1.x 和/或当您实际使用旧版 JSP 而不是其后续 Facelets (XHTML) 时,您可以改用 *.jsf

    <servlet-mapping>
        <servlet-name>Faces Servlet<servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    

    这样你可以通过http://example.com/context/page.jsf而不是http://example.com/context/faces/page.jsp打开JSF页面。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      相关资源
      最近更新 更多