2012-01-16 9 views
0

Weblogic 10.3.5がインストールされています。私はJSF 2.0の戦争をサーバーに配備しました。私のWebContentフォルダには、それぞれJSF2.0 xhtmlと純粋なJSPコードを含む* .xhtmlと* .jspファイルがあります。 http://localhost:7001/MyApp/NewFile123.xhtmlに移動すると、404 Not foundエラーページが表示されます。 (Eclipseコンソールで有益な情報はありません)。しかし、http://localhost:7001/MyApp/NewFile.jspはうまく動作し、やるべきことをします。JSF2.0 - * .xhtmlページには404-NotFoundが付いていますが、* .jspは正常に動作しますか?

私はJSFとJSPを混ぜるのではなく、JSPがうまくいくかどうかを見たいと思っていました。私はXHTMLファイルのための適切なサーブレットマッピングを持っています。

私も私のクラスパス上にこれらを持っている:

  • glassfish.el_1.0.0.0_2-2.jar

  • glassfish.jsf_1.0.0.0_2-1-5.jar

  • glassfish.jstl_1.2.0.2.jar

  • javax.servlet_1.0.0.0_2-5.jar

もう1つ興味深いことに、* .xhtmlファイルを編集しようとすると、自動補完は機能しません。 (すなわち、それは<h:outpを自動補完しませんそれは私が箱から出してJSF2.0を持っているのWeblogic 12.1を使用していたときに使用

は編集

:。。ここではは、web.xmlの関連する部分である

<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
<servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>*.xhtml</url-pattern> 
</servlet-mapping> 
私は、JSFページに移動しようとすると、

は、なぜ私が404を得るのですか任意の提案

+0

Facesサーブレットを指すようにweb.xmlを設定しましたか? –

+0

@ TheEliteGentleman - 質問を編集してください。 –

+0

何を編集しますか?私はあなたが何かを編集した場所は見ません。 –

答えて

1

私も自分のクラスパス上にこれらを持っている:??

  • glassfish.el_1.0.0.0_2-2.jar
  • glassfish.jsf_1.0.0.0_2-1-5.jar glassfish.jstl_1.2.0.2.jar
  • javax.servlet_1.0.0。 0_2-5.jar

あなた/WEB-INF/libから、これらすべてのコンテナ固有のライブラリを削除します。彼らはまったくそこに属していない、コンテナはすでにそれらと一緒に出荷されます。 /WEB-INF/libには、のみが含まれ、コンテナに同梱されていないWebアプリケーション固有のライブラリが含まれている必要があります。

Weblogic 1.0.3.5は、すでにJSF 2.0に同梱されているサーブレット2.5コンテナですが、サーブレット3.0が必要なJSF 2.1ライブラリを提供している可能性があります。私はWeblogicを使用していませんが、1.0.3.xにはJSF 2.0を動作させるための具体的な手順が必要であることをお読みください。this blogも参照してください。ここでは関連性のエキスです:

  • ダウンロードし、OTNから最新のOracle WebLogic Server 11g Rel 1 (10.3.3) Installersのいずれかをインストールします。 (ZIPインストーラを試してみてください。軽量!)
  • (HTTP新しいサンプルドメインを作成します(あなたが望むものは何でもそれを呼び出す)と、管理サーバ
  • 開き管理コンソールを起動します。JSF 2.0ライブラリー(展開を展開
  • 7001 /コンソール/):// localhostを - インストール -
  • が追加JSF-2.0.war

  • \ wlserver_10.3です\共通\展開可能なライブラリをお好みのJSF 2.0のサンプルを探す(Iは-2.0.2クロサギ科分布からguessNumberの事を取りますよ) weblogic.xmlファイルを次の内容のWEB-INF /フォルダにコピーします。

    <?xml version="1.0" encoding="UTF-8"?> 
    <weblogic-web-app> 
        <library-ref> 
        <library-name>jsf</library-name> 
        <specification-version>2.0</specification-version> 
        <implementation-version>1.0.0.0_2-0-2</implementation-version> 
        <exact-match>true</exact-match> 
        </library-ref> 
    </weblogic-web-app> 
    

更新コメントどおり:

私は今、それが原因で、プロジェクトの設定であってもよいと思われます。動的Webプロジェクトを作成し、JSF 1.2を選択しました。 JSFの仕様と実装について私に尋ねた次のステップで、私は彼にそのglassfish jsf2 jarを指摘しました。デフォルトは1.2です。多分私はそれをしてはいけませんか?

これは、JSF 1.2のmodusでJSF 2.0を強制的に実行するJSF 1.2準拠のfaces-config.xmlを生成している可能性があります。 JSF 2.0に準拠するには、<faces-config>ルート宣言を再宣言する必要があります。

<faces-config 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" 
    version="2.0"> 
+0

BalusC、答えに感謝します。私はこれをすべて設定するためにブログで言及されたものとまったく同じことをしました。私は '/ WEB-INF/lib'からjarファイルを削除しました。私は、JSF 2.0ライブラリをデプロイし、weblogic.xmlを変更しました。しかし、運がない* .xhtmlのページにはまだ404が見つかりません。興味深いことに、私のフィルタ、サーブレット、JSPはうまく機能します。 –

+0

別のURLパターンを試してください。例えば。 '* .jsf'や'/faces/* 'の代わりに' * .xhtml'を使います。 – BalusC

+0

プロジェクトの設定が原因である可能性があります。動的Webプロジェクトを作成し、JSF 1.2を選択しました。 JSFの仕様と実装について私に尋ねた次のステップで、私は彼にそのglassfish jsf2 jarを指摘しました。デフォルトは1.2です。多分私はそれをしてはいけませんか? –

関連する問題