- ベストアンサー
トムキャットでサーブレットをデバックする方法
- eclipseを使用してTomcatのサーブレットをステップ実行でデバックする方法について解説します。
- eclipse上でTomcatのサーバーを設定し、動的ウェブプロジェクトを作成します。
- 作成したサーブレットを編集してデバック用のコードを追加し、サーバーでデバックします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
っていうより、TestTom.javaを右クリックで実行でできませんか? デバッグをいきなりしようとしていますが、先ずは実行できるか確認ですね。 プロジェクトのビルドはしてますよね?自動的にビルドにチェックが入っていればOKですけど。 WTPプラグインを使っているようですので、お試しで特別なことが無い限り、web.xmlをさわる 必要ありません。 あと、エクリプスを使わないでtomcatサービスを起動してtomcatの起動画面が出るかどうかも 確認したほうが、もしかしたらよいかもです。
その他の回答 (3)
- uranari
- ベストアンサー率0% (0/1)
補足読ませていただきました。 下から9行目の<display-name>TestTom</display-name>はいりませんね。 上から3行目のがありますので。 あとは下から3行目の<url-pattern>/TestTom</url-pattern> を<url-pattern>/servlet/tom.TestTom</url-pattern> と変えればうまくいくと思いますよ。
お礼
デバックする際、右クリックした場所が悪かったようです。 Web.xmlは特に変更する必要はなかったようです。 この度はありがとうございました。
- mintia007
- ベストアンサー率59% (16/27)
補足のweb.xmlを見る限り、 http://localhost:8080/DynamicWeb/TestTom でアクセスできそうですが。。。 (servlet-mappingを変更したようですが元に戻してください) workspace\DynamicWeb\WebContent\WEB-INF\web.xml はOKです。WEB-INFフォルダに配置してください。
お礼
デバックする際、右クリックした場所が悪かったようです。 java資産の上で右クリックしてデバックを実行したら無事に動きました。 ありがとうございました。
- uranari
- ベストアンサー率0% (0/1)
eclipseだけでなく開発に対しても初心者ですが、web.xmlにサーブレットの登録とサーブレットの場所を示してないために404になっているのではないかと思います。 場所は パッケージ>WebContent>WEB-INF>lib>web.xml です。 開くと <?xml version="1.0" encoding="UMF-8"?> <web-app id="WebApp_ID" version="2.4" xmls=…> <display-name>パッケージ名</display-name> <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> </web-app> となっていると思うので、 <display-name>タグと<welcome-file-list>タグの間に追加してください。 サーブレットの登録のために <servlet> <servlet-name>サーブレット名</servlet-name> <servlet-class>サーブレットクラス名</servlet-class> </servlet> と、サーブレットの場所を示すために <servlet-mapping> <servlet-name>サーブレット名</servlet-name> <url-pattern>/servlet/サーブレットクラス名</url-pattern> </servlet-mapping> を追加してください。404の状態は解決すると思いますよ。 わからなければ、また質問してください。できる限り協力します。
補足
web.xmlというファイルですが workspace\DynamicWeb\WebContent\WEB-INF\web.xml にありました。lib配下に移した方がよろしいでしょうか。 また、開いてみたところ以下のようになっていまして eclipseがサーブレットの場所などを自動的に入れてくれているようです。 tomというパッケージを作ってその中に TestTomというサーブレットのクラスを置いています。 -------------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>DynamicWeb</display-name> <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> <servlet> <description></description> <display-name>TestTom</display-name> <servlet-name>TestTom</servlet-name> <servlet-class>tom.TestTom</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestTom</servlet-name> <url-pattern>/TestTom</url-pattern> </servlet-mapping> </web-app> ------------------------------------------------------------------- これを踏まえてエラーの画面を確認しましたところ http://localhost:8080/DynamicWeb/ にアクセスしようとしているようなので web.xmlの<servlet-mapping>タグの部分を 以下のように変えましたが結果は変わりませんでした。 -------------------------------------------------------------------- <servlet-mapping> <servlet-name>DynamicWeb</servlet-name> <url-pattern>/DynamicWeb</url-pattern> </servlet-mapping> --------------------------------------------------------------------
お礼
今までプロジェクト名で右クリックで実行しようとしてました。 TestTom.javaを右クリックした時と プロジェクトを右クリックした時で動きが異なるんですね。 どっちでも同じことだと思い込んでいました。 Web.xmlを元に戻してTestTom.javaを右クリックで無事に実行できました。 また、eclipseを使わないで通常のTomcatに デプロイしての動作もできましたので併せて報告いたします。 この度はありがとうございました。