2012-03-26 9 views
1

Eclipse IndigoからWindows 7 UltimateでTomcat 5.54アプリケーションサーバーを実行しています。私のサーブレットは.jspファイルを使用しているとの.jspページは.jspファイルにいくつかのJavaScriptを「含める」には、以下の(特に)含まれています.jspページから.js(または.css)ファイルを見つけることができません

サーブレットはの.jspページが表示されて実行されますが、私は404を取得すると要求されたリソース(/MyServer/WebContent/WEB-INF/JSP/Scripts/Modernizr-2.5.3.js)は利用できません。 .jspページに含まれている.jsファイルと.cssファイルのすべてに適用されます。

関連するファイルの場所は次のとおりです。 ./WEB-INF/JSP .jspファイルの.jsが は.cssファイルを./WEB-INF/JSP/CSSファイル ./WEB-INF/JSP/Scripts

特に、Modernizr-2.5.3.jsは。\ Projects \ MyServer \ WebContent \ WEB-INF \ JSP \ Scripts \ Modernizr-2.5.3.jsにあります(Eclipseによって管理されます)。 .js、.css、imagesなどの "included"コンテンツへのパスは、表示された.jspに関係なく、送信されたURLの場所に相対的であることを理解しています。これを処理する最善の方法私がやっていると信じているsrc = URLに完全修飾パスを使用することです。しかし、私は404エラーを取得します。私はModernizr-2.5.3.jsを(テストケースとして) "全面的に"配置しようとしましたが、私は404エラーを排除できませんでした。 (私はこの特定のスクリプトをウェブから引き出すことができますが、それは私の問題を解決しません)。

src = URLに間違いがありますか?そうでなければ、これらの404エラーが発生する原因は何ですか?

ありがとうございました。

+0

どのsrc URLを使用していますか?あなたがリクエストしたページのURLは何ですか?ブラウザのアドレスバーにパスを入力することで、hsやCSSに直接アクセスできますか? – davidfrancis

答えて

2

WEB-INFは一般に公開されていません。これは通常、JSPやライブラリファイルとディスクリプタを格納するために使用されます。クラスパスからロードするディスパッチャ(通常のWebリソースのように参照する)を経由せずに、javascriptおよびcssリソースを参照する場合は、WEB-INF以外の別のディレクトリに配置する必要があります。

だから私はProjects/MyServer/WebContent/jsProjects/MyServer/WebContent/cssを作成してjsとcssを適切なフォルダに入れることをお勧めします。次にsrc属性は/js/Modernizr-2.5.3.jsと/css/mycss.cssを指すことができます

+0

ありがとうございましたDigitalJoeは、私が上記のドミトリーに言ったように、 "WEB-INF"(おそらく "Web Info"のようなもの)がWebアクセス可能なリソースを含むことができないことが奇妙なことを発見しました。あなたの具体的な道は、どこに行くのかを明確にするのに役立ちました。そして、私は今稼働しています。/ –

1

WEB-INFはクラスとプロパティファイル用であり、JSPや他のリンケージリソースには使用しないでください。ファイルをWebアプリケーションのルートまたはその下の別のディレクトリに移動する必要があります。

+0

DMitryありがとうございましたが、 "WEB-INF"(おそらく "Web Info"ウェブアクセス可能なリソースが含まれています。 –

関連する問題