2012-07-02 37 views
8

Eclipseを使用してローカルのTomcatでサーブレットを実行しようとしています。HTTPステータス404 - Tomcatを使用するEclipseの場合

しかし、私はこのエラーが発生しており、何が違うのか分からない。

私は実際にそれをここに記録:http://www.screenr.com/ZyD8

感謝を!

はまた、私はこれまでのweb.xmlを変更:

 <?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID" 
    version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" > 

    <display-name> 
TEST3 
    </display-name> 

    <welcome-file-list> 

     <welcome-file> 
TEST3 
     </welcome-file> 
    </welcome-file-list> 

    <servlet> 

     <servlet-name> 
helloServlet 
     </servlet-name> 

     <servlet-class> 
HelloServlet 
     </servlet-class> 
    </servlet> 

    <servlet-mapping> 

     <servlet-name> 
helloServlet 
     </servlet-name> 

     <url-pattern> 
/hello 
     </url-pattern> 
    </servlet-mapping> 

</web-app> 
+0

パッケージを持つServletはありますか?そうであれば、web.xmlに完全修飾クラス名を書き込んでください。 –

+0

"default package"です。しかし、私がパッケージ "test.servlet"で作成し、 "test.servlet.HelloServlet"をweb.xmlのクラス名として入れても、同じエラーが返されます。 – user387184

+0

私の答えをチェックしてください。 –

答えて

20

私はあなたのリンクを見てきました。

これまで動的Webプロジェクトを実行していましたが、デフォルトではServletコンテナ(この場合はTomcat)は、wel-comeリストで指定されたファイルを検索します。あなたのweb.xmlを確認し、それはあなたが上記のリストのいずれかからファイルを作成していない

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

のようなエントリが含まれている必要があります。したがって、実行中

http://localhost:8080/TEST2は404エラーを表示します。

実行:http://localhost:8080/TEST2/HelloSerlvetは、作成したサーブレットを起動します。

編集:Eclipseのプロジェクトメニューをチェックし、「自動的にビルドする」がチェックされ、サーブレットコンテナが実行されていることを確認してください(http://localhost:8080)。

編集2:プロジェクト - >プロパティを右クリックし、Javaビルドパス - >ソースタブ - >デフォルト出力フォルダを変更を選択します。 (ないのEclipseからの)ファイルエクスプローラから 1、手動で「/ WEB-INF /クラスを作成します。これは、いくつかのハイライトのHardikミシュラからの回答に基づいているに/WebContent/WEB-INF/classes (Eclipseのデフォルト)

+0

添付のweb.xmlをご覧ください。「http:// localhost:8080/TEST2/HelloSerlvet」と入力すると同じエラーが表示されます。クラスは正しい場所に配置されていないと思いますが、私は何をすべきか分かりません。 – user387184

+0

申し訳ありませんが、私はすべてを試してもまだ動作しませんでした。 「ビルドパス上のソースフォルダ」の上にビルドパスとして配置する必要があります。また、「デフォルト出力フォルダー」には何を配置する必要がありますか。 「出力フォルダをソースフォルダとして許可する」チェックボックスをオンにする必要がありますか? – user387184

+0

慎重にお読みください。私は新しいフォルダを作成するために言及しています。編集2 –

7

作成"under/WebContent 2. Project - > Propertiesを右クリックし、Java Build Path - > sourceタブ - > Change Default output folderを上記で作成したフォルダに右クリックします。 3. Eclipseの「プロジェクトエクスプローラ」には、クラスフォルダが表示されないフィルタがいくつか存在する可能性があるため、Eclipseではなくファイルエクスプローラに移動します。このディレクトリにコンパイルされた.classファイルが表示されます。

もう一度テストしてみてください。動作しない場合は、Eclipseを一度再起動すると動作します。

4

私はこれらのタイプの問題をかなり前から見てきましたが、いくつかの人にとってはうまくやっていて、同じ問題にまだ直面している複数の解決策を見てきました。

単純な解決策の1つは、.java/.jsp/etc。を右クリックして[サーバーから実行]オプションを選択することです。

このソリューションは、シンプルで効果的な方法です。

パスJavaリソース - > src - > - > example.java - >右クリック - >実行 - >サーバー上で実行。

でも、ポート8005のような問題に直面することはありません。以下のリンクを参照して、現在のApache設定を消去し、同じ設定を再設定してください。

TOMCAT - HTTP Status 404

Deployment error:Starting of Tomcat failed, the server port 8080 is already in use

この知見は役に立ちました願っています。

0

通常、web.xmlファイルを変更するときは、Tomcatを「クリーンアップ」する必要があります。 EclipseでTomcatを右クリックしてクリーンアップしてください。プロジェクトでも同じことをします。また、Tomcatを停止し、Tomcatからアプリケーションを削除して(Tomcatの下のアプリケーションを右クリックして削除して)、追加し直すこともできます。 Tomcatを再起動します。

関連する問題