在WAS服务器上部署应用程序时如何设置URL?除了我设置的上下文路径之外,我在URL中获得/faces/
。我不知道它来自何处。
答案 0 :(得分: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>
也许还有一个<welcome-file>
例如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页面。