我的第一个JSF程序出错。 Tomcat和Eclipse

时间:2012-04-14 15:02:22

标签: eclipse java-ee tomcat jsf-2

我是Java的初学者。我正在使用eclipse Helios和Tomcat 7。

我配置了服务器并编写了我的第一个JSF页面,但是我收到了这个错误:

HTTP Status 404 - /
type Status report
message /
description The requested resource (/) is not available.
Apache Tomcat/7.0.27

第一页的代码是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"      
      xmlns:h="http://java.sun.com/jsf/html">

    <h:head>
        <title>JSF 2.0 Hello World</title>
    </h:head>
    <h:body>
        <h3>JSF 2.0 Hello World Example - hello.xhtml</h3>

    </h:body>
</html>

然后我将端口更改为8088.但是当我在浏览器中输入localhost:8088时,我得到了同样的错误。

4 个答案:

答案 0 :(得分:8)

这可能是由几个常见原因造成的:

  • 很可能因为你在启动时试图访问这样的东西:localhost:8080 / MyProject /

    为了能够这样做,您必须在web.xml中指定欢迎文件列表:

    <welcome-file-list>
       <welcome-file>index.xhtml</welcome-file>
     </welcome-file-list>
    

    如果您还没有这些行,请添加这些行以指定servlet映射:

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

    确保index.xhtml文件位于网页文件夹中。

  • 您已经放置了试图访问Wep pages文件夹之外某处的.xhtml文件。

  • 您正在尝试访问一些不存在的.xh​​tml。

我敢打赌这是第一个因为日志错误显示:资源(/),所以你可能正在尝试访问欢迎文件。

希望它有所帮助!

答案 1 :(得分:6)

Tomcat并没有附带jsf库。下载jsf lib文件并将其放在\ apache-tomcat \ lib文件夹中。重建项目并重新启动服务器,你很高兴。

答案 2 :(得分:0)

你试图做的方式是错误的

在jsf中我们输入的内容如“localhost:8088 \ faces \ test.jsp” 然后发生的第一件事是这个url被解析,如果有任何url pattren可以启动facesServlet然后只有jsf生命周期开始

此url模式必须在部署描述符(即web.xml)中 现在当你试图通过localhost \ 8080 \ facesservlet访问它时,没有开始,所以这就是你的错误的原因。

web.xml应该有一个类似

的条目

Faces servlet * .xhtml

这将确保每当你的网址都有* .xhtml时,你的面孔servlet cyscle就会启动。

如果你的web.xml有

<servlet-mapping>    <servlet-name>Faces servlet</servlet-name>    <url-pattern>/faces/*</url-pattern>   </servlet-mapping>

然后你的网址应该在你的网址中有“面孔”。 希望这可以帮助。 问候 anil sharma

答案 3 :(得分:0)

您的jsf库可能有问题,所以请尝试将它们放在WEB-inf下的lib文件夹中,然后执行以下操作:右键单击您的项目 - &gt; properties - &gt; java build path - &gt; JSF_lib - &gt;删除以避免任何冲突