2

404 resource not foundSun の J2EE によって自動作成された特定の .WAR 内のページがdeploytool同じ .WAR ファイル内のサーブレットをロードしようとし たときに、エラーを引き起こす可能性が最も高い原因は何ですか?
例えば:

HTTP ステータス 404 - /MyServlet/MyServlet

タイプステータス レポート

メッセージ/MyServlet/MyServlet

説明要求されたリソース (/MyServlet/MyServlet) は利用できません。


関連: これらのうち、サーバー固有のものはいくつありますか? 例: Sun Java Application Server vs Tomcat & Catalina ?

4

4 に答える 4

5

web.xml に「MyServlet」の有効な <servlet-mapping> がありますか? それは過去に私の一番の犯人でした

于 2008-09-15T20:47:56.067 に答える
1

404 エラーは、要求されたリソースが見つからなかったことを意味します。pkaeding が示唆しているように、おそらく web.xml ファイル内のサーブレット マッピングが正しくない (または存在しない) ことが原因です。サーブレットは web.xml ファイルで指定する必要があり、それだけでなく、特定のパス (「url マッピング」) にマップする必要があります。「MyServlet」サーブレットが存在するが、アプリケーション コンテキスト ルートに基づいて「/MyServlet/MyServlet」で解決される可能性のあるパスにマップされておらず、他の何も (つまり、別のサーブレットなど) がこのパスで解決されない場合、アプリケーション サーバー指定されたパスに何もマップされていないことを示す 404 をスローします。

于 2008-09-15T20:50:39.913 に答える
0

サーブレットマッピングは一般的な問題です。ただし、web.xmlにフィトラーが含まれている場合は、それらも原因である可能性があります。認識すべきことの1つは、サーブレットが実行を開始する前に、フィルターは常にdoFilterの前にコードを実行することです。(技術的には、フィルターはdoFilterの後にコードを実行します)このコードでは、特定の状況で404を返すフィルターを作成しました。一部またはすべてのフィルターマッピングを削除すると、フィルターマッピングに関連しているかどうかを検出するのに役立つ場合があります。

于 2009-08-11T17:01:07.283 に答える
0

私はちょうどこの問題に私の髪を引っ張るのに約1時間を費やしました. OSX 上の Tomcat 5.5.27 は、別のサーブレットとサーブレット マッピングを追加するまで問題なく動作していましたが、その時点ですべてが 404 を返していました。サーブレット エントリの前にサーブレット マッピングを配置します。これは簡単な間違いであり、適切なエラー メッセージに似たものを何も表示せずにアプリケーション全体をひざまずくのは少し極端に思えますが、振り返ってみると完全に理にかなっています。

于 2008-10-13T00:51:23.887 に答える