eclipseを使用してTomcatのサーブレットをステップ実行でデバックしたいのですが
なぜかhttp404エラーが出てしまいます。何かeclips側で設定が漏れているのでしょうか。
当方の使用環境は
Windows7
tomcat6.0
Apache2.2(Tomcatと連携)
eclipse pleiades All in One for java Developers 3.6
です。
手順は以下の通り行いました。
・メニューのウィンドウ→ビューの表示→サーバーを選択。
・サーバービュー上で右クリック→新規→サーバーを選択。
・表示された画面で「サーバのタイプ:tomcat6.0」を選択し、サーバのホスト名に"localhost"を入力し「完了」ボタン押下。(その他の項目はデフォルト)
・メニューのファイル→新規→動的ウェブプロジェクトを選択。
・表示された画面でプロジェクト名を入力し完了ボタン押下(その他の項目はデフォルト)
・作成したプロジェクトを右クリック→新規→その他を選択。
・表示された画面でweb→サーブレットを選択し「次へ」押下。パッケージ、クラス名を入力して「完了」ボタン押下。
・作成されたクラスのdoGetメソッドを以下のように編集。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
response.setContentType("text/html; charset=Windows-31J");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>テストタイトル</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>テスト</h1>");
out.println("</body>");
out.println("</html>");
}
・クラス先頭のインポート文に「import java.io.PrintWriter;」を追記。
・プロジェクトを右クリック→デバック→サーバーでデバックを選択。
・表示される画面で「既存のサーバーを選択」を選択し「次へ」ボタン押下。
・構成済みのリソースに作成したプロジェクトがあることを確認して「完了」ボタン押下。
結果「http://localhost:8080/testWeb/」に自動的にアクセスするが以下のようなメッセージが表示されてしまう。
------------------------------------------------------------------------------
HTTPステータス 404
The requested resource () is not available.
--------------------------------------------------------------------------------
※eclipseからtomcatの起動と終了は正常にできているようです。
参考にしたURL
http://www.od.eng.kansai-u.ac.jp/docs/eclipse-to …
http://www.db.is.kyushu-u.ac.jp/rinkou/tomcat/ec …
No.4ベストアンサー
- 回答日時:
っていうより、TestTom.javaを右クリックで実行でできませんか?
デバッグをいきなりしようとしていますが、先ずは実行できるか確認ですね。
プロジェクトのビルドはしてますよね?自動的にビルドにチェックが入っていればOKですけど。
WTPプラグインを使っているようですので、お試しで特別なことが無い限り、web.xmlをさわる
必要ありません。
あと、エクリプスを使わないでtomcatサービスを起動してtomcatの起動画面が出るかどうかも
確認したほうが、もしかしたらよいかもです。
今までプロジェクト名で右クリックで実行しようとしてました。
TestTom.javaを右クリックした時と
プロジェクトを右クリックした時で動きが異なるんですね。
どっちでも同じことだと思い込んでいました。
Web.xmlを元に戻してTestTom.javaを右クリックで無事に実行できました。
また、eclipseを使わないで通常のTomcatに
デプロイしての動作もできましたので併せて報告いたします。
この度はありがとうございました。
No.3
- 回答日時:
補足読ませていただきました。
下から9行目の<display-name>TestTom</display-name>はいりませんね。
上から3行目のがありますので。
あとは下から3行目の<url-pattern>/TestTom</url-pattern>
を<url-pattern>/servlet/tom.TestTom</url-pattern>
と変えればうまくいくと思いますよ。
デバックする際、右クリックした場所が悪かったようです。
Web.xmlは特に変更する必要はなかったようです。
この度はありがとうございました。
No.2
- 回答日時:
補足のweb.xmlを見る限り、
http://localhost:8080/DynamicWeb/TestTom
でアクセスできそうですが。。。
(servlet-mappingを変更したようですが元に戻してください)
workspace\DynamicWeb\WebContent\WEB-INF\web.xml
はOKです。WEB-INFフォルダに配置してください。
デバックする際、右クリックした場所が悪かったようです。
java資産の上で右クリックしてデバックを実行したら無事に動きました。
ありがとうございました。
No.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>
--------------------------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
servletでHTTPステータス404エ...
-
servlet (resin) について
-
サーブレット フィルタ
-
JSPからサーブレットを呼び出す...
-
【Servletのエラーについて教え...
-
マイクラjavaでForgeを入れたい...
-
OptiFineをJAVAで開こうとする...
-
Eclipseで、プロジェクト名のと...
-
.jarファイルの中身って書き換...
-
html上で、バッチやexeファイル...
-
VisualStudioでC++クラスを追加...
-
Eclipse(JAVA)のデバッグで他...
-
サーブレットでhtml,cssや画像...
-
コンパイル時にエラーが出てし...
-
vs codeはオフラインでも使用で...
-
セットアップファイル(MSIとEX...
-
JSPファイルがコンパイルできな...
-
iアプリ アプリからブラウザを...
-
eclipseのエラーについて質問で...
-
タグが閉じてないというエラー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPからServletへの遷移
-
JSPからサーブレットを呼び出す...
-
servlet (resin) について
-
list<クラス名> とは何でしょう...
-
tomcatコマンドプロンプトのエ...
-
eclipseで作ったサーブレットの...
-
【Servletのエラーについて教え...
-
Servletが動かない
-
サーブレットが起動しない
-
ServletでJNIを利用するには
-
RequestDispatcherオブジェクト...
-
tomcatとapacheの連携
-
HTTPステータス 404 - /servlet...
-
eclipse でjspからJavaを実行す...
-
WEB開発をはじめたばかりの初心...
-
DB接続しようと思ったら下記の...
-
[Servlet]ページ表示に関して
-
サーブレットインスタンスを割...
-
サーブレットの構成が上手く行...
-
eclipseでwarの入れ子
おすすめ情報