2012-04-14 25 views
3

私はJavaの初心者です。私の最初のJSFプログラムでエラーが発生しました。 TomcatとEclipse

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> 
私は、サーバーを構成し、私の最初のJSFページを書きましたが、私はこのエラーを得た日食ヘリオスとTomcat 7

を使用しています

それから、ポートを8088に変更しました。しかし、ブラウザにlocalhost:8088と入力すると、同じエラーが発生します。

+0

あなたの設定ファイル(web.xml、faces-configなど)は、あなたがmavenかeclipseだけを使用していますか?あなたの戦争ではどんな瓶がありますか? – LightGuard

+0

@ LightGuard私はEclipseを使用しています。私はjsf 2.0(Mojarra 2.0.3 FCS)を使用します。 – Mohsen

答えて

8

これは、いくつかの一般的な理由により発生する可能性があります。

  • あなたは、起動時にこのような何かにアクセスしようとしているbeacuseほとんどの場合:localhostを:8080/MyProjectと/

    そうすることができるようにするにあなたのweb.xmlにウェルカムファイルリストを指定する必要があります:

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

    また、あなたはまだ持っていない場合、サーブレットマッピングを指定するには、次の行を追加します。

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

    index.xhtmlファイルがWebページフォルダにあることを確認してください。

  • あなたはWEPページフォルダの外のどこかにアクセスしようとしている.xhtmlファイルを置いています。

  • 存在しないいくつかの.xhtmlにアクセスしようとしています。

私は、ログにエラーが表示さので、それは最初のものだ賭ける:リソース(/)をので、あなたはおそらく歓迎ファイルをアクセスもしようとしています。

少し助けてくれたらと思います!

0

あなたがやろうとしている方法は、我々は次のようにURLを入力史上とき、JSFでは、間違った

です:起こる 最初の事は、このURLが解析された場合にされている「localhostの8088 \は\なtest.jspに直面しています」 facesServletを起動できるURLがpattrenにあります。その後、jsfのライフサイクルのみが開始されます。

このURLパターンは、localhost \ 8080 \ facesservletでアクセスしようとしているときに展開ディスクリプタ(web.xml) にあります。これがあなたのエラーの理由です。

web.xmlが

Facesサーブレットのようなエントリを持つ必要があります* .xhtml

これはあなたのURLが.xhtml *している時はいつでも、あなたの顔のサーブレットcyscleが開始されることを保証します。

をweb.xmlは

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

を持っているならば、あなたのURLは、URL内の "顔" を持っている必要があります。 これが役立つことを願っています。 について anil sharma

0

あなたのjsfライブラリに問題があるかもしれないので、それらをWEB-inf下のlibフォルダに入れてから右クリックしてください:プロジェクト - >プロパティ - > javaビルドパス - > JSF_lib - >競合を回避するために削除する

6

Tomcatにはjsfライブラリが付属していません。 jsf libファイルをダウンロードし、\ apache-tomcat \ libフォルダの中に置きます。プロジェクトを再構築してサーバーを再起動してください。

関連する問題