6

我在 Eclipse 中运行了带有 Servlet 3.0 的 Tomcat 7。

在我的 WEB-INF 文件夹下,我放置了两个文件,web.xml 和 index.html。web.xml 将欢迎文件定义为 index.html 但是当我去

http://localhost:8080/WebApp/

我得到一个404。

奇怪的是我有一个定义为 /login 的 servlet,当我去

http://localhost:8080/WebApp/login

我可以查看和使用 servlet(我可以调试它并查看我的 doGet() 请求)

我不知道为什么我看不到欢迎文件,它确实工作了一段时间,但从那以后我做了一些更改,我通过在 Tomcat 启动时设置连接池来更改连接到数据库的方式,但这不应该影响很大。不太确定下一步该往哪里看,catalina.out 没有给出任何提示。

谁能看到为什么我的欢迎文件没有按我的意愿运行?任何帮助表示赞赏:)

4

2 回答 2

10

啊,我最后的评论让我意识到了一些事情。我有点傻。我只是将 index.html 放在错误的位置,它不应该在 WEB-INF 下,而是在 WebContent(WEB-INF 的父目录)下。404 实际上是一个巨大的提示,除了我之外,一切都正常工作!嗬!

于 2013-01-21T18:57:42.430 回答
1

在您的 web.xml 文件中,您应该有这样的内容:

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

这样您就可以将 url 模式映射到 servlet。在此示例中,您访问 index.xhtml、index.jsf 或 .../faces/index

于 2013-01-21T18:37:09.707 回答