プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
最近、JSP/サーブレットの勉強を始めた者です。

今使っている本についているサンプルコードをインポートしたいと思い、
ネットで調べながらやってみましたが、うまくできませんでした。

eclipse自体初心者であるため、インポートの基本的な方法、
また注意すること等教えていただけないでしょうか。

以下に私が行った手順などを記します。

●test1というTomcatプロジェクトを作成
●test1直下のWEB-INFにweb.xml、同じくTest1直下のclassesにサンプルのクラスファイル、
  そしてWEB-INF/srcにサンプルのjavaファイルをインポート
●Tomcatを再起動し、ブラウザのURLに、http://localhost:8080/test1/1_1と入力
●「HTTPステータス 404 - /test1/1_1」が表示される

A 回答 (3件)

>eclipseにインポートする上で、なにか決定的な見落としがあるのではないか、


>また、特に注意することを教えていただきたい、というのが質問の趣旨でした。

ああ、そういうことですか。勘違いしていたようです。失礼しました。

改めて質問文を見なおしたのですが、クラスファイルをいれているというのがよくわかりません。これは何かのライブラリですか。Tomcatプロジェクトであれば、srcにJavaのソースコードファイルを入れれば、ビルドして自動的にクラスファイルは生成されますのでクラスファイルは不要のはずです。

また、このクラスファイルは、サーブレットでしょうか。つまり、動かそうとしているのはJSPなのかサーブレットなのか、ということなのですが。サーブレットであるなら、ソースコードからクラスが正しく生成できて、web.xmlの記述が正しければ動くはずです。が、これらに問題があれば動きません。少々臭うのは、web.xmlの記述です。これが正しくされていないのではありませんか。<servlet>>と<servlet-maping>の記述をもう一度見なおしてみてはいかがでしょうか。<url-pattern>の記述は間違っていないでしょうか。

また、JSPを作成してアクセスできるかどうか試してみてはいかがですか。もし、jspには直接アクセスできるということなら、プロジェクトの問題ではなく、サーブレットに関する設定の問題であるとわかります。もしJSPにもアクセス出来ないなら、これはプロジェクトの諸設定の問題であるとわかります。またJSPも動かないようなら、ごく普通のHTMLファイルを作ってアクセスできるか確かめてみてはかがでしょう。これでアクセス出来ないとなると、プロジェクトが公開されていないということになります。このあたり細かく問題を切り分けていく必要があると思います。
    • good
    • 0
この回答へのお礼

何度も回答いただき、ありがとうございます。
わかり辛い質問に付き合っていただき、非常に感謝しています。

クラスファイルのインポートは、ご指摘の通り不要でした。

教えていただいたように、各ファイルごとに試してみると、まずhtmlが実行できませんでした。
そこでhtmlファイル内の<html>を<HTML>に書き直したところ、うまくいきました。
サーブレットもちゃんと実行され、意図していたページが表示されました。
くだらないことでお手を煩わせてしまい、申し訳ありません。

加えて、回答者様の説明の中でいくつか新しい発見があり、感謝しています。
htmlやJSP、サーブレットを試しに実行してみることで、問題を絞り込むという方法は参考になりました。
WTPの存在も知らなかったため、今度使ってみようと思います。

またいつかお世話になるかもしれませんが、そのときはよろしくお願いします。

お礼日時:2011/05/03 12:47

>また、書籍は最近出版されたものですが、書籍内ではeclipseに関しては


>一切触れられておらず、すべてコマンドプロンプトで実行しています。

これが混乱のもとですね。Eclipseを使う場合、Eclipseの機能だけですべてを処理し、コマンドプロンプトは一切使いません。またコマンドプロンプトを利用する場合、Eclipseの機能は使えません。どうもその本の説明は、Eclipseはただ単に紹介しているだけなのではありませんか。ちょっとこのへんを整理して説明するのは大変なので、どちらのやり方を取るか整理したほうがいいでしょう。Eclipseを使うなら、コマンドプロンプトの方法は使いません。

>「Tomcatの公開ディレクトリ」とは、webappsフォルダのことでしょうか。
>コマンドプロンプトを用いる場合は、このフォルダにコピーして実行しています。
>しかし、インポートする場合は質問文のように、eclipseからインポートを行っていました。

なんか説明がむちゃくちゃですね、その本。ちょっと返事のしようがありません。とりあえず、「Eclipseを使いたいなら、コマンドプロンプトの説明はすべて無視して別途調べたほうがいい」としかいいようがありません。

>アプリケーションURIという言葉自体、初めて目にしました。
>プロジェクトを作成する時は、プロジェクト名とコンテキスト名のみ入力しています。

ごめんなさい、それです。私がTomcatプラグインを使っていたのはかなり前なので、ちょっと検索したら今は表示テキストが変わっているようです。その「コンテキスト名」のことです。これがhogeなら、http://localhost/hoge/に公開される、ということです。

EclipseでTomcatを実行すると、Tomcatの公開ディレクトリ(webapps)にあるWebアプリケーションはすべて無視され、ないものとしてサーバーが起動されます。代りに、実行するプロジェクトだけが公開ディレクトリに配置されているようになります(要するに、公開ディレクトリを変更した形で起動している感じ)。ですので、webappsにコピーしても、EclipseからTomcatを起動すると一切見えません。

とりあえず、その本の説明は、Eclipseを使ったやり方と、使わないやり方がごちゃごちゃになっている感じですので、そのあたりを整理してみてください。基本的に、Eclipseを使う場合は、Eclipseの機能だけですべて完結しています。コマンドプロンプトなど一切使いません。また、コマンドプロンプトを使った場合、Eclipseのプロジェクトは正常に機能しなくなる可能性があります。

正直、その本の説明は一度全部忘れて、別途Eclipseを使ったプロジェクトの作成や公開法をネットなどで検索して調べたほうがいいように思いますよ。
    • good
    • 0
この回答へのお礼

再度の回答ありがとうございます。

書籍ではeclipseの紹介さえしてありません。eclipseのコトは全く載っていないのです。

ご指摘の通り、eclipseを使う場合は、コマンドプロンプトは全く使わないようにしています。
質問文の手順は全てeclipse上で行ったもので、コマンドプロンプトは使っていません。
ネットを参考にしながら、eclipseの画面でプロジェクトにインポートをしたものの、
ブラウザから意図したページが表示されない、というのが現在の状況です。
(今考えると、タイトルが適切ではなかったと思います。申し訳ありません。)
従って、eclipseにインポートする上で、なにか決定的な見落としがあるのではないか、
また、特に注意することを教えていただきたい、というのが質問の趣旨でした。
わかり辛い文章で申し訳ありません。

繰り返しになりますが、私の理解では、回答者様のおっしゃるように、
http://localhost/hoge/にファイルが公開されると思っています。
しかし、現状はうまくいっていないため、困っているという次第です。

お礼日時:2011/05/03 10:18

Tomcatプロジェクトと書いているところを見ると、ひょっとしてTomcatプラグインを使っているのでしょうか。

これは、かなり昔、まだEclipseがサーバーサイドJavaに対応していない頃に使われていたもので、今はWTPというEclipse純正ソフトウェアを使って開発するのが基本です。両者はまったく扱いが違いますので、まずそのあたりを明確にされたほうがよいかと思います。(ちなみに、未だにTomcatプラグインを使っているような書籍で勉強するのはやめたほうがいいように思います。いくらなんでも情報が古すぎます)

Tomcatプラグインを使っているものと仮定してですが。
Tomcatプロジェクトを作成する際、アプリケーションURIというのを設定したと思います。これが公開URIになります。例えば、ここで/hogeと設定した場合は、http://localhost/hoge/というURIにプロジェクトのWebアプリケーションが公開されます。

ここで重要なのは、Tomcat本体の側で起動をしたり、あるいは作成したプロジェクトやクラスファイルをコピーしたりする作業は一切行わない、という点です。Eclipseの「Tomcat」メニューの「Tomcat起動」を選び、Eclipse内からTomcatを起動してください。これで自動的にTomcatサーバーが起動します。そして、指定のURIにアクセスすればいいだけです。

ちなみに、どうも参考にされた情報は、手作業でビルドしたファイルなどをTomcatの公開ディレクトリにコピーして使うための方法ではないかと思えます。Eclipseで利用する場合はまったく違いますので、そのあたり、調べた情報をもう少し整理されたほうがよいかと思います。その本には、プロジェクトの公開などの説明はなかったのでしょうか。もしそうしたことがないならば、またTomcatプラグインを使った方法は非常に情報が古いので、できればもっと新しい(この1年ぐらいの間に出た)入門書などで勉強しなおしたほうがいいかも知れません。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

ご指摘の通り、プラグインを使っています。

また、書籍は最近出版されたものですが、書籍内ではeclipseに関しては
一切触れられておらず、すべてコマンドプロンプトで実行しています。

「Tomcatの公開ディレクトリ」とは、webappsフォルダのことでしょうか。
コマンドプロンプトを用いる場合は、このフォルダにコピーして実行しています。
しかし、インポートする場合は質問文のように、eclipseからインポートを行っていました。

>>Tomcatプロジェクトを作成する際、アプリケーションURIというのを設定したと思います。

アプリケーションURIという言葉自体、初めて目にしました。
プロジェクトを作成する時は、プロジェクト名とコンテキスト名のみ入力しています。
他に「Webアプリケーション・ルートとするサブディレクトリ」という項目がありますが、
よくわからないので使っていません。

申し訳ございませんが、アプリケーションURIの設定方法について、ご説明いただけるでしょうか。

お礼日時:2011/05/02 22:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!