3

私は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

4 に答える 4

8

これは、いくつかの一般的な理由によって引き起こされる可能性があります。

  • 起動時に次のようなものにアクセスしようとしていることが原因である可能性があります: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ページフォルダーにあることを確認してください。

  • アクセスしようとしている.xhtmlファイルをWeppagesフォルダーの外に配置しました。

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

ログエラーが:resource (/)を示しているので、これが最初のものだと思います。おそらく、ウェルカムファイルにアクセスしようとしています。

それが少し役に立ったことを願っています!

于 2012-04-14T16:45:06.177 に答える
6

Tomcat には jsf ライブラリが付属していません。jsf libファイルをダウンロードして、\apache-tomcat\lib フォルダー内に配置します。プロジェクトを再構築してサーバーを再起動すれば、準備完了です。

于 2014-12-15T17:29:39.017 に答える
0

jsf ライブラリに問題がある可能性があるため、それらを WEB-inf の下の lib フォルダーに配置してから実行してください。プロジェクトを右クリック --> プロパティ --> Java ビルド パス --> JSF_lib --> 削除衝突を避けるために

于 2013-12-26T07:15:59.027 に答える
0

あなたがしようとしている方法は間違っています

jsf で「localhost:8088\faces\test.jsp」のような URL を入力すると、最初にこの URL が解析され、facesServlet を開始できる URL パターンが含まれている場合は、jsf ライフサイクルのみが開始されます。

localhost\8080\facesservlet でアクセスしようとすると、この URL パターンがデプロイメント記述子 (つまり web.xml) に含まれている必要があるため、エラーの原因です。

web.xml には次のようなエントリが必要です

Faces サーブレット *.xhtml

これにより、URL に *.xhtml が含まれている場合は常に、faces サーブレット サイクルが開始されます。

あなたのweb.xmlが持っている場合

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

次に、URLに「顔」が含まれている必要があります。お役に立てれば。よろしくアニル・シャルマ

于 2012-04-16T12:30:19.277 に答える