当我使用 Eclipse 中的 Tomcat 8.0 启动 Java EE 项目时,我无法设置在浏览器中加载的默认页面。我正在尝试学习 JSF,所以我遵循了本教程
login.xhtml
一切正常,但是当我右键单击或welcome.xhtml
文件并选择“运行方式/在服务器上运行”时,我只能看到创建的页面。
到目前为止,当我启动整个项目时,我创建的所有其他 Web 应用程序都加载了默认页面。默认行为是加载index.html
页面(或者可能是 index.jsp,如果有的话)。所以我在项目中的文件夹中添加了index.html
和index.xhtml
页面WEB-INF
,希望至少显示其中一个。然而,什么也没有发生。浏览器总是只显示localhost:8080/JSFFaceletsTutorial/
URL 上的页面,但页面是白色的,甚至没有错误消息。我想我在解决这个问题的过程中一直遇到错误 404,但是,我不再能够重现这个错误,我不记得是什么原因造成的。
我发现可以更改默认起始页面
但是,它也对我不起作用。无论我是否编辑web.xml
文件,我都会得到相同的结果。
更令人费解的是,当我尝试更改 Web 浏览器:“Window/Web Browser/...”时,它在外部 Web 浏览器中的行为与在内部 Eclipse Web 浏览器中的行为有一段时间不同。内部总是空白页面 - 但外部网络浏览器曾经设法显示该index.html
页面 - 但它是一些过时的版本。尽管我绝对确定我编辑了它,保存了更改,重新启动了服务器......但它仍然向我展示了页面的过时版本。即使在这种情况下,它仍然忽略web.xml
文件中所做的更改。但是当我现在尝试它时,它再次在所有浏览器中显示空白页。web.xml
除了编辑文件之外,我不知道我所做的任何更改...
我的猜测是问题出在我还没有完全掌握的 JSF 技术中。这是因为当我选择使用右键单击“运行方式/在服务器上运行”来运行login.xhtml
和页面时,这些页面的 URL使用路径和. 这很奇怪,因为我的项目中没有任何目录“面孔”。键入以下所有可能的排列:welcome.xhtml
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 开始"
我不确定这是否有帮助。我现在没有主意了。