• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Java】Eclipseで作成したTomcatプロジェクトへブラウザ)

【Java】EclipseでTomcatプロジェクトへのブラウザアクセスができない理由

このQ&Aのポイント
  • JavaのEclipseで作成したTomcatプロジェクトへブラウザからアクセスできません。Tomcatは正常に起動しており、Apache Tomcatへのアクセスも可能です。
  • EclipseでTomcatプロジェクトとして作成したmbshopプロジェクトにアクセスすると、HTTPステータス404エラーが表示されます。
  • mbshopプロジェクト配下にはWEB/INFディレクトリがあり、その中にweb.xmlがあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • Lieserl
  • ベストアンサー率81% (31/38)
回答No.3

Heliosに入れ替えても同じやり方ではうまく行かないと思います。 Eclipse Platform 3.4.2 Ganymede (All in one)だってWTP入ってますよ。 また、Tomcat6.0でもInvokerServletはありますから、 今回の問題には直接の関係は無いと思います。 試しにミニマム構成でプロジェクトの作成から実行までやってみましょう。 まず、右上のツールバーからJavaEEパースペクティブを選択します。 (ウィンドウ>パースペクティブを開く>その他>JavaEEでも可) 次にウインドウメニューからパースペクティブのリセットを選んでください。 IDEの下の方にサーバーというタブがあると思いますので、それを選択して下さい。 ここに、Tomcatが登録されていなかったら、 サーバーウィンドウを右クリックして新規>サーバーでTomcatを登録して下さい。 (ウィンドウ>設定>サーバー>ランタイム環境でも可) Tomcatプロジェクトではなく、動的Webプロジェクト(Dynamic Web Project)で、 プロジェクトを作成する。 WebContentの直下に、index.jsp等のファイルを作成する。 作成したindex.jspを右クリックして、実行>サーバーで実行を選ぶと、 どのサーバーで実行するか聞かれるので、実行するサーバーを選択してください。 次へで、実行するプロジェクトをサーバーに登録する画面が表示されるので、 先程作成した動的Webプロジェクトが構成プロジェクトに登録されている事を確認して、 完了を押してください。 Tomcatが起動されて、内蔵ブラウザでindex.jspが表示されるはずです。 (WebContentの中のファイルを選択した状態で実行したので、 自動的にURLを組み立ててくれている) 蛇足ですが、WTPでTomcatを起動した場合、http://localhost:8080/では404になると思います。

stellasia
質問者

お礼

今回ベストアンサーに選ばせて頂いた理由は、私の知識や技能が未熟であり、それに対して丁寧に説明を頂いた点をあげます。Lieserlさんのアドバイスは画面上の操作について非常に的確で丁寧な内容であったため、知識が足りなかった私にとってわかりやすかったです。 なので本音を言えば、今回アドバイスを頂いた皆様をベストアンサーとしたいくらいです。 Lieserlさん、的確なアドバイスをありがとうございました。 私が学んでいたプロジェクトの作成方法は非常に古いものであったことに気づきました。 Lieserlさんの説明いただいた内容の通りに操作をしたところ、すべてうまくいきました。 またこのような操作を知らなかった自分がお恥ずかしいです。 今回の教訓を大事にし、今後色々な視点からEclipseを勉強していきたいと思います。 非常に丁寧に教えていただき、ありがとうございました。

その他の回答 (2)

回答No.2

JavaEE6, Tomcat7に対応した Eclipse3.6 Helios が6月24日にリリースされたので、これを機に、Helios に乗り換えたらよいと思います。 www.eclipse.orgから、 Eclipse IDE for Java EE Developers をダウンロードすれば、それがWTP付きのEclipseです。 WTPを使って Dynamic Web Project を作成すれば、デフォルト値を変更しない限り、WebContent は自動的に作成されます。 それから WTP では、サーバという概念が従来と異なり、プロジェクト単位でサーバ情報が持たれるので、invoker Servlet などというものは、もはや存在価値を持ちません。 Eclipse の開発スピードはとても速いので、日本語で書かれたネット上の情報は、そのほとんどが現在では時代遅れのものになっています。 出来るだけ、英語で書かれた本家のドキュメントを参照するようにしないと、日本のプログラマは世界から置いてきぼりをくってしまいます。

stellasia
質問者

お礼

erichgunmaさん アドバイスを頂きありがとうございます。 新しいバージョンのEclipseも続々と出ていますね。 扱いに慣れてくれば使用を検討したいです。 英語を理解した上でJavaを取り組むことは非常に重要ですね。 私は根本的な基礎知識が不足していたようで、今後の課題は山積みですが 一つ目標が持てた気がします。 Javaをマスターし、外国人との共有も図れるよう立派なプログラマーを 目指していきたいです。非常に貴重な意見をありがとうございました。

回答No.1

WTPでは、tomcat の制御は WTP側で行います。 WTP側には tomcat/index.html は存在しないので、 http://localhost:8080/ にアクセスしても、404エラーになります。 逆に、tomcat を Eclipse の外から直接起動すると、 http://localhost:8080/ にはアクセスできるようになりますが、すでに8080ポートが使用されているため、WTP から tomcat へはアクセスできなくなります。 ポートを変えてやればアクセスできるようになりますが、tomcat の制御を tomcat側とWTP側と両方から行うことになりますので、おかしなことになります。 tomcat managerは、deploy後のアプリ&サーバを管理する事を想定しているものなので、開発マシン上でのTomcatの制御はWTPを通して行うのがよいです。

stellasia
質問者

お礼

erichgunmaさん とても丁寧に回答頂き、ありがとうございました。 非常に参考になりました。 私は今現在、Eclipseをdownloadした際に自動的に備え付けられていたTomcatを使用しています。 別の方より「WTPの場合はmbshop/WebContent/WEB-INFという具合に、TomcatプロジェクトであるmbshopとWEB-INFの間の階層にWebContentがある」という指摘を受けました。 ですが、私のEclipseを見てもWebContentという名称はありませんでした。 私が使用しているEclipseがWTPであるかどうかが一つ問題なのかもしれませんが WTPで使用するにはどのように設定すればよいでしょうか。 PASS・変数の設定も見直す必要などもありますでしょうか。

関連するQ&A

専門家に質問してみよう