【发布时间】:2015-02-18 04:45:54
【问题描述】:
当我使用 Eclipse 中的 Tomcat 8.0 启动 Java EE 项目时,我无法设置在浏览器中加载的默认页面。 我正在努力学习JSF,所以我关注了this tutorial
一切正常,但是当我右键单击login.xhtml 或welcome.xhtml 文件并选择“运行方式/在服务器上运行”时,我只能看到创建的页面。
到目前为止,当我启动整个项目时,我创建的所有其他 Web 应用程序都加载了默认页面。默认行为是加载index.html 页面(或者可能是 index.jsp,如果有的话)。所以我将index.html 和index.xhtml 页面添加到项目的WEB-INF 文件夹中,希望至少显示其中一个。然而,什么也没有发生。浏览器总是只显示localhost:8080/JSFFaceletsTutorial/ URL 上的页面,但页面是白色的,甚至没有错误消息。我想我在解决这个问题的过程中一直遇到错误 404,但是,我不再能够重现这个错误,我不记得是什么原因造成的。
我发现可以change the default starting page
但是,它对我也不起作用。无论我是否编辑web.xml 文件,我都会得到相同的结果。
更令人费解的是,当我尝试更改 Web 浏览器:“Window/Web Browser/...”时,它在外部 Web 浏览器中的行为与在内部 Eclipse Web 浏览器中的行为有一段时间不同。内部总是空白页——但外部网络浏览器曾经设法显示index.html 页面——但它是一些过时的版本。尽管我绝对确定我编辑了它,保存了更改,重新启动了服务器......但它仍然向我展示了页面的过时版本。
即使在这种情况下,它仍然忽略了在web.xml 文件中所做的更改。
但是当我现在尝试它时,它再次在所有浏览器中显示空白页。除了编辑web.xml 文件外,我不知道我所做的任何更改...
我的猜测是问题出在我还没有完全掌握的 JSF 技术上。这是因为当我选择使用右键单击“运行方式/在服务器上运行”来运行login.xhtml 和welcome.xhtml 页面时,这些页面的URL 位于localhost:8080: 上,路径为/JSFFaceletsTutorial/faces/login.xhtml 和/JSFFaceletsTutorial/faces/welcome.xhtml。这很奇怪,因为我的项目中没有任何目录“面孔”。
键入以下所有可能的排列:
<welcome-file-list>
<welcome-file>faces/index.html</welcome-file>
<welcome-file>faces/index.xhtm</welcome-file>
</welcome-file-list>
web.xml 也没有帮助。当我在那里输入完整地址时,它也没有帮助。
这是我在控制台中收到的警告(我跳过了 INFO 日志条目):
“2014 年 12 月 19 日上午 9:39:55 org.apache.tomcat.util.digester.SetPropertiesRule 开始 警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context} 将属性 'source' 设置为 'org.eclipse.jst.jee.server:JSFFaceletsTutorial' 没有找到匹配的属性。 ... 警告:JSF1074:名为“loginBean”的托管 bean 已注册。用 com.tutorial.LoginBean 替换现有的托管 bean 类类型 com.tutorial.LoginBean。 2014 年 12 月 19 日上午 9:39:57 org.apache.coyote.AbstractProtocol 开始"
我不确定这是否有用。 我现在没有主意了。
【问题讨论】:
-
我认为它只是
index.xhtml ?您所有的文件都命名为 .xhtml?所以这将是第一个猜测。请注意,如果您使用 JSF servlet (*.jsf) 的 servlet 映射来指向 .xhtml 文件,则欢迎文件将无法获取它。它必须是物理文件。
标签: eclipse jsf tomcat homescreen welcome-file