【Java】Eclipseで作成したTomcatプロジェクトへブラウザからアクセスできません。
Tomcatは問題なく起動していて、Apache Tomcatへはアクセスできます。
以下に詳細を記載していますのでアドバイスをお願いします。
環境は以下の通りです。
・Windows XP
・Internet Explorer8.0 or Firefox
・Eclipse Platform 3.4.2 Ganymede (All in one)
・Tomcat6.0
・jre1.6
EclipseでTomcatを起動でき、その際のコンソールにも特にエラーはありません。
Tomcatを起動した際に http://localhost:8080/ へアクセスすると、Apache Tomcatへ繋がります。
なので問題なくTomcatは起動しています。
EclipseでTomcatプロジェクトとして”mbshop”という名のプロジェクトを作成しました。
http://localhost:8080/mbshop/とアクセスするとHTTPステータス 404 - /mbshop/
と表示されてしまいます。
mbshop配下にWEB/INFがあり、その中にweb.xmlを記述しています。
web.xmlの記述内容は以下の通りです。
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
version="2.5"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
</web-app>
Tomcatが起動できApache Tomcatのサイトへアクセスできるのに、
Eclipse内のTomcatプロジェクトが表示できないのは、なぜでしょうか。
いくら調べても原因が見つかりません。
ご存知の方がいれば、アドバイスを下さい。
宜しくお願いします。
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を通して行うのがよいです。
erichgunmaさん
とても丁寧に回答頂き、ありがとうございました。
非常に参考になりました。
私は今現在、Eclipseをdownloadした際に自動的に備え付けられていたTomcatを使用しています。
別の方より「WTPの場合はmbshop/WebContent/WEB-INFという具合に、TomcatプロジェクトであるmbshopとWEB-INFの間の階層にWebContentがある」という指摘を受けました。
ですが、私のEclipseを見てもWebContentという名称はありませんでした。
私が使用しているEclipseがWTPであるかどうかが一つ問題なのかもしれませんが
WTPで使用するにはどのように設定すればよいでしょうか。
PASS・変数の設定も見直す必要などもありますでしょうか。
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 の開発スピードはとても速いので、日本語で書かれたネット上の情報は、そのほとんどが現在では時代遅れのものになっています。
出来るだけ、英語で書かれた本家のドキュメントを参照するようにしないと、日本のプログラマは世界から置いてきぼりをくってしまいます。
erichgunmaさん
アドバイスを頂きありがとうございます。
新しいバージョンのEclipseも続々と出ていますね。
扱いに慣れてくれば使用を検討したいです。
英語を理解した上でJavaを取り組むことは非常に重要ですね。
私は根本的な基礎知識が不足していたようで、今後の課題は山積みですが
一つ目標が持てた気がします。
Javaをマスターし、外国人との共有も図れるよう立派なプログラマーを
目指していきたいです。非常に貴重な意見をありがとうございました。
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になると思います。
今回ベストアンサーに選ばせて頂いた理由は、私の知識や技能が未熟であり、それに対して丁寧に説明を頂いた点をあげます。Lieserlさんのアドバイスは画面上の操作について非常に的確で丁寧な内容であったため、知識が足りなかった私にとってわかりやすかったです。
なので本音を言えば、今回アドバイスを頂いた皆様をベストアンサーとしたいくらいです。
Lieserlさん、的確なアドバイスをありがとうございました。
私が学んでいたプロジェクトの作成方法は非常に古いものであったことに気づきました。
Lieserlさんの説明いただいた内容の通りに操作をしたところ、すべてうまくいきました。
またこのような操作を知らなかった自分がお恥ずかしいです。
今回の教訓を大事にし、今後色々な視点からEclipseを勉強していきたいと思います。
非常に丁寧に教えていただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- Java Javaで個人ブログサイトを作りたい 7 2022/04/03 17:37
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- IT・エンジニアリング プログラマの仕事内容 4 2022/08/13 00:34
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaServletデバッグってどうや...
-
Tomcatは起動しますが初期index...
-
apache+tomcatの起動手順
-
apache + tomcat でtomcatが起...
-
スタンドアロンJavaプログラム(...
-
リモートからTomcatにアクセス...
-
eclipseからweblogic起動
-
Eclipse + JBOSS でのデバッグ
-
javaが起動しない
-
Visual C++を複数開くには?
-
tomcatをサービスで登録すると...
-
The requested resource is no...
-
WebBrowserがロードできない(...
-
Eclipse開発時workディレクトリ...
-
Eclipseで、プロジェクト名のと...
-
MacOS:ターミナルではNPMのコ...
-
Eclipse・プロジェクトで、フォ...
-
html上で、バッチやexeファイル...
-
split関数で区切り文字がない場合
-
SVFの設定について:クラスパス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Tomcatは起動しますが初期index...
-
apache+tomcatの起動手順
-
The requested resource is no...
-
tomcatをプロジェクト毎に起動...
-
「ファイルが見つかりません D...
-
リモートからTomcatにアクセス...
-
EclipseからTomcatを起動した際...
-
Tomcatでwarファイルの展開に失...
-
EclipseからTomcatを起動できない
-
Tomcatに-Dオプションを読込ま...
-
tomcatをサービスで登録すると...
-
Tomcatプロジェクトの.properti...
-
JavaServletデバッグってどうや...
-
Eclipse + JBOSS でのデバッグ
-
javaが起動しない
-
TOMCATのstartup.batによる起動...
-
apache + tomcat でtomcatが起...
-
javaサーブレットから別サーバ...
-
JAVAからAdobeReaderを起動する...
-
Tomcatが起動しません。調べて...
おすすめ情報