我已经使用 tomcat 作为应用程序服务器编写了一个 facelets web 应用程序。我的程序有一个 foobar.xhtml,它的 URL 是:
http://localhost:8080/Myapplication/foobar.faces
我可以更改我的应用程序中的某些内容以便链接到:
http://localhost:8080/Myapplication/
..实际上会在 http://localhost:8080/Myapplication/foobar.faces 上呈现我的应用程序?
或者,http://localhost:8080/Myapplication/ 可以吗?被重定向到 http://localhost:8080/Myapplication/foobar.faces ?
最佳答案
您通常会使用 <welcome-file>
在 web.xml
中输入为了这。但不幸的是,当使用要通过 servlet 传递的虚构 URL(如 FacesServlet
)时,这至少在 Tomcat 上无法按预期工作。 . Tomcat 将在转发前扫描磁盘上与确切名称匹配的物理文件。如果它不存在,那么您只会看到默认的 404 错误页面。
使用 /foobar.xhtml
作为<welcome-file>
也不会工作,因为该页面需要由 FacesServlet
解析让所有的 JSF 东西工作。
解决这个问题的方法之一是放置另一个真正的 /foobar.faces
在真实/foobar.xhtml
旁边的文件文件。它不需要填充代码,它可以留空。仅存在物理文件就足以让 Tomcat 打开所需页面作为欢迎页面。
关于java - 使用 JSF 从 URL 中删除 Foobar.xhtml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3006497/