Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

eclipse3.7のtomcat7で[HTTPステータス 500]が出る。

eclipse3.7(pleiades-e3.7-java-jre_20110924)でtomcat7を使おうとしています。
tomcatはeclipseに付属していたのでとくに自分でインストールしたりはしていませんが、設定だけ以下のページと比較して異なる点があればそちらに合わせてみました。
EclipseにTomcatプラグインのインストール
http://www.searchman.info/java_eclipse/1090.html
試しにeclipseからtomcatを起動してhttp://localhost:8080/を開いてみると、きちんと「Apache Tomcat/7.0.16」というページが表示されました。

まずHelloWorldを作ろうと以下のページの通りにプロジェクトを作ってみました。
EclipseでTomcatアプリ開発
http://www.searchman.info/java_eclipse/1100.html
プロジェクトを作った後に
「※ちなみに、
C:\tomcat7\conf\server.xml のなかに、
tomcat_test も書き加わっています。

と書かれていたのでD:\pleiades-e3.7-java-jre_20110924\tomcat\7.0\conf\server.xmlを見てみたのですが、tomcat_testという記述は見当たりませんでした。
このままではたぶんうまくいかないのでは?と思いつつもソースファイルを中身をコピペしながら作っていき、http://localhost:8080/tomcat_test/servlet/helloを開いてみました。
すると、「HTTPステータス 500」と言われました。
原因の先頭に
「java.lang.ClassNotFoundException: info.searchman.HelloWorld」
とあるので、やはりクラスパスが通っていないんだと思います。

そこで、設定->tomcat->ソース・パスを見てみると、ソース・パスを自動的に算出にチェックが入っていて、いくつかのプロジェクトにチェックが付いているように見えましたが、それはすべてtomcatを使っていないものであり、肝心のtomcat_testプロジェクトにはチェックが付いているように見えませんでした。
なので、自動的に算出のチェックをはずし、手動でtomcat_testプロジェクトのみチェックをつけてページを更新してみました。
すると、今度は「HTTPステータス 404 - サーブレット hello が利用できません」と言われました。
相変わらずserver.xmlにはtomcat_testの記述はありません。

他にも適当に設定を見たりしているうちに、とくに変更を加えた覚えはないと思うのですが、tomcat_testプロジェクトのアイコンに赤!が出るようになりました。

コンテキスト定義の更新やってみると、「操作が成功しました」と言われ、このコンテキストを再ロードをやってみると、
「操作が失敗しました。
The following url was used:
http://localhost:8080/manager/reload?path=/tomcat_test

Check manager app setting (username and password)

See <workspace>/.metadata/.log file」
と言われ、パースペクティブがデバッグになり、TreadPoolExecutor.classが表示されました。

なにか必要な設定が違っていたり必要なファイルを作っていなかったりしているのでしょうか?
長文になってしまいましたが、よろしくお願いします。

8

回答

25310

閲覧

8件の回答

評価

0

素のTomcatでアプリがどういう構成で動くのかは、
理解してるのかな。

評価

0

tomcatを使うのは今回が初めてです。
javaが好きで普段からeclipse使ってプログラミングしてました。
サーブレットなどをするのにtomcatを使うことになり、eclipseに初めから入っていたことから新たにどこかからインストールすることなく今に至ります。
サーバーの知識はほとんどないです。

評価

0

ソースを見ないことには分かりませんが
tomcatプロジェクトで作成している場合、

サーブレットへの接続はxmlファイルで行われるはずです。

<web-app>

<!--//基本設定の定義-->
<servlet>
        <servlet-name>    </servlet-name>
        <servlet-class>        </servlet-class>
   </servlet>

<!--//サーブレット呼び出しURLの設定-->
<servlet-mapping>
        <servlet-name>       </servlet-name>
        <url-pattern>        </url-pattern>
    </servlet-mapping>

</web-app>


の部分で設定ができているか確認してみてください

評価

0

web.xmlを確認してみました。
↑の部分の設定はできていました。

>ソースを見ないことには分かりませんが
以前書いたように、ソースは以下のものコピペでやってます。
EclipseでTomcatアプリ開発
http://www.searchman.info/java_eclipse/1100.html
書いた人はそれで動いているようなので、ソースが間違っているとは思っていないのですが。

評価

0

server.xmlだっけ?
その下のlocalhostだか忘れたけど、ディレクトリ内に
1アプリごとにファイルが作られるんじゃなかったっけ。

>See <workspace>/.metadata/.log file」
見てみた?
結構ここに、メッセージが吐かれてることあるよ。

評価

0

とりあえず、利用できませんが出てるんだから、confには
多分問題ないな。

評価

0

>server.xmlだっけ?
その下のlocalhostだか忘れたけど、ディレクトリ内に
1アプリごとにファイルが作られるんじゃなかったっけ。

D:\pleiades-e3.7-java-jre_20110924\tomcat\7.0\conf\Catalina\localhost
にtomcat_test.xmlが作られていました。

<Context path="/tomcat_test" reloadable="true" docBase="D:\Java\tomcat_test" workDir="D:\Java\tomcat_test\work" />
>>See <workspace>/.metadata/.log file」
見てみた?

今日7/16の分をはります。
私にはALT+SHIFT+X Rでキーバインドの競合が発生しているくらいしかわかりませんでした・・・

!SESSION 2013-07-16 19:50:57.836 -----------------------------------------------
eclipse.buildId=M20110909-1335
java.version=1.6.0_27
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.jface 2 0 2013-07-16 19:54:26.031
!MESSAGE キーバインドの競合が発生しました。 通常のアクセラレーター操作を妨げる可能性があります。
!SUBENTRY 1 org.eclipse.jface 2 0 2013-07-16 19:54:26.031
!MESSAGE A conflict occurred for ALT+SHIFT+D R:
Binding(ALT+SHIFT+D R,
    ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.debug,サーバーでデバッグ,
        サーバー上の現在の選択をデバッグ,
        Category(org.eclipse.debug.ui.category.run,実行/デバッグ,コマンド実行/デバッグのカテゴリー,true),
        ,
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+D R,
    ParameterizedCommand(Command(org.eclipse.rap.ui.launch.RAPLaunchShortcut.debug,Debug RAP Application,
        Debug RAP Application,
        Category(org.eclipse.debug.ui.category.run,実行/デバッグ,コマンド実行/デバッグのカテゴリー,true),
        ,
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2013-07-16 19:54:26.031
!MESSAGE A conflict occurred for ALT+SHIFT+X R:
Binding(ALT+SHIFT+X R,
    ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.run,サーバーで実行,
        サーバー上の現在の選択を実行,
        Category(org.eclipse.debug.ui.category.run,実行/デバッグ,コマンド実行/デバッグのカテゴリー,true),
        ,
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+X R,
    ParameterizedCommand(Command(org.eclipse.rap.ui.launch.RAPLaunchShortcut.run,Run RAP Application,
        Run RAP Application,
        Category(org.eclipse.debug.ui.category.run,実行/デバッグ,コマンド実行/デバッグのカテゴリー,true),
        ,
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)

評価

0

おとなしく WTPをつかってみたら?

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。