Tomcatプロジェクトと動的Webプロジェクトの比較と開発の選択

このQ&Aのポイント
  • Tomcatプロジェクトと動的Webプロジェクトのフォルダ構成には差異があり、J2EE仕様に従っていない可能性がある。
  • 動的Webプロジェクトでは、必要なフォルダがルートディレクトリの配下にWebContentという形で存在し、classesフォルダは別の場所にある。
  • どちらのプロジェクトで開発を行うべきかは、J2EE仕様を重視する場合はTomcatプロジェクト、一般的なWeb開発をする場合は動的Webプロジェクトが適していると言える。
回答を見る
  • ベストアンサー

Tomcatプロジェクトと動的Webプロジェクト

EclipseにてWebアプリを作成しようとしているのですが 下記サイトで「J2EE仕様で定められているプログラム配置構成」 http://www.javaroad.jp/opensource/js_tomcat2.htm ということでフォルダ構成が掲載されています。 EclipseにてTomcatプロジェクトを作成するとルートディレクトリの 配下にWEB-INFその下にclassesフォルダ や libフォルダ ができると いった具合になります。 しかし、動的Webプロジェクトではルートディレクトリの配下にWebContent その下にWEB-INFlibフォルダ が存在しclassesフォルダは別の場所に存在しています。 動的WebプロジェクトはJ2EE仕様に従っていないということでしょうか。 また、そうであるならば仕様に従っていないことによる不利益があったりするのでしょうか。 Tomcatプロジェクトと動的Webプロジェクトならば動的Webプロジェクトで開発したほうがよい というWebの記述も見かけたりしたのですがどちらのプロジェクトで開発を行うのが よいのでしょうか。

  • Java
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

Tomcatプロジェクトは、開発用のパス=実行用のパスになっています。 動的Webプロジェクトは、開発用のパス→実行用のパスにコピーして実行されています。 workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ あたりね。(サーバーを複数作ってあると微妙にパスは変わってくるけど) コピーされた先は、ちゃんとJ2EE仕様になっていますよ。 で、Tomcatプロジェクトの場合、インストールされているTomcatをそのまま使っているので、 複数のプロジェクトを開発していると、server.xmlの設定が競合しちゃったりする可能性があります。 動的Webプロジェクトの場合、サーバーの設定を複数作ることができるので、これを回避できます。 私はいつも動的Webプロジェクトですね。 そもそもTomcatプラグインをインストールしてませんし、 Tomcat以外のサーバーも使えるからね。

関連するQ&A

  • fedora10+eclipse3.42+tomcat6にて

    動的Webプロジェクトでstrutsしているのですが 動的Webプロジェクトでプロジェクト(ProjectX)を作ると Javaソース場所がProjectX/srcとなり クラス出力場所がProjectX/build/classesとなります。 ところがeclipseからTomcat6を起動した場合 クラス出力場所がProjectX/WebContent/WEB-INF/classesでなければ JavaClassにアクセスできずTomcat6が機能しません。 またProjectXに設定したクラスパスは Javaファイルのコンパイルには有効なものの ProjectX/WebContent/WEB-INF/classes以下のJavaクラスの実行時には無効なので ProjectX/WebContent/WEB-INF/lib にJarファイルを配置しなくてはなりません。 eclipse3.42のEclipise IDE for Java EE Developers を使ってTomcat6の開発をしている人は どのようにこの配置の問題を解決しているのでしょうか?

    • ベストアンサー
    • Java
  • EclipseとTomcatのディレクトリ構成について。

    EclipseとTomcatでサーバサイドのプログラミングを勉強したいのですが、Tomcatのwebappsの下にJSPなどのファイルを置くと思うのですが、Eclipseで「動的Webプロジェクト」を選んだ後に、出来たディレクトリを見ると、workspaceのWebContentがTomcatのwebappsと同じ構成になるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • Eclipseで書いても、Tomcatで動かない。

    「All-In-One-Eclipse」で、サーバーサイドのプログラムを作ろうとしています。 Tomcatをインストールして、TomcatのプラグインもEclipseの指定のディレクトリに置いて、EclipseのTomcatの設定もしたはずなのですが、Tomcatと連携がとれてないようです…。 Eclipseで「動的Webプロジェクト」を選択して、作成したプロジェクトの左のビュー(?)の「WebContent」を右クリック→新規→JSPで、JSPのファイルを作り、簡単なコードを書いたのですが、ブラウザで 「http://localhost:8080/プロジェクト名/JSPファイル名 と書いても、ファイルが見つからないとエラーが出てしまいます。 何か、落としている作業等あるのでしょうか? また、原因などに、見当がつきましたら、よろしくお願いします。

    • ベストアンサー
    • Java
  • tomcatプロジェクトを新規作成してもリソースが直接見れない

    tomcatプロジェクトを新規作成してもリソースが直接見れない Eclipse Java EE IDE for Web Developers.で開発を行っています。 (Build id: 20100218-1602)←これがバージョン? 本題に入りますがeclipseでtomcatプロジェクトの新規作成をすると 作成したフォルダやファイルを直接見る事が出来ません。 eclipseでプロジェクト名を右クリックしてプロパティーを開いて リソースの欄を見ると C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\websystem というフォルダにリソースがあるはずなのですが直接そのフォルダを 開いてもありません。コントロールパネルのフォルダオプションで 全てのフォルダ・ファイルを表示にしてもみれません。 また、ブラウザでhttp://localhost:8080/websystem/1.jspにアクセスすると The requested resource (/websystem/1.jsp) is not available.というエラーが 出てしまいます。 フォルダやファイルを直接見れるようにして上記エラーを解決するにはどうすれば 良いのでしょうか。

    • ベストアンサー
    • Java
  • Tomcatのpropertiesファイルの読み込みについて

    Tomcat4.1でWEB-INF/classes/resource/a.propertiesというリソースファイルを <a.class>.getResourceAsStream("/resource/a.properties"); と記述して読み込もうとしています。実際この記述でサーバ(Solaris)上ではうまく読み込めているのですが同じソースにもかかわらずローカルの開発環境(All-In-One EclipseのTomcat)ではうまくいきません。 eclipseのTomcatのクラスパス周りの設定だとは思っていますがどこを設定していいかわかりません。 WEB-INF/classes/配下は特に設定が必要ないのでは?とも思いますし・・。 ちなみにサーブレット・その他のクラスなどは問題なく動いてるようです。 初めての質問ですのでちょっとわかりにくいかも知れませんが もしわかる方がいらっしゃればご回答よろしくお願いします。

    • ベストアンサー
    • Java
  • eclipse + Tomcat v5.5 で 動的Webプロジェクトが起動できなくなる

    OS:Windows Vista IDE:eclipse 3.4 Ganymede IDEプラグイン:pleiades APサーバ:Tomcat v5.5 上記の環境で、eclipseにTomcatの設定を行った後、動的Webプロジェクトを作成し、 サーバーで実行(英語の場合Run on server)をすると、通常ではサーバーが起動しますが、 この環境を使っていてしばらくすると、サーバーで実行を行ったときに、 「サーバーは、バージョン 2.4 の J2EE Web モジュール 仕様をサポートしていません。」 というエラーメッセージが表示され、サーバの起動ができなくなってしまいます。 どういう操作を行うと、こうなるのかがはっきりわからないのですが、 eclipseインストール直後では起動できるのに、あるときから起動ができなくなってしまうのです。 そもそもTomcat v5以降では servletバージョンの2.4以降には対応していると思うのですが、 なぜこのようなメッセージが出るのかが謎です。 ちなみにサーバーで実行ダイアログでTomcat v6を選択すると、起動できるようです。 (Tomcat v6をインストールしていないので確認はしていませんが、上記のエラーメッセージが 表示されなくなり、次へボタンが有効(押せる状態に)なります。) よろしくお願いします。

    • ベストアンサー
    • Java
  • 【Java】Eclipseで作成したTomcatプロジェクトへブラウザ

    【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プロジェクトが表示できないのは、なぜでしょうか。 いくら調べても原因が見つかりません。 ご存知の方がいれば、アドバイスを下さい。 宜しくお願いします。

    • ベストアンサー
    • Java
  • Tomcatの実行ユーザーの確認方法

    Tomcat上で動くWebアプリをJavaにて作成し、その中でディレクトリを作成する処理を 行っております。しかし、そのディレクトリを作成する処理の部分で失敗してしまいます。 ディレクトリの作成先はApache(WebServer)のドキュメントルート配下(/var/www/html/img)を 指定しています。OSはCentOSです。 他の場所(TomcatのWebappsの自分のプロジェクト配下)を指定した場合はうまくいくので、 ディレクトリを作成する権限がないのではと思っています。 Tomcatには実行ユーザーというものがあるということがわかったのですが 今、どのユーザーでTomcatが実行されているのかというのはどのように調べればよいでしょうか。 Tomcatはyumにてインストールしているのですがデフォルトではrootで実行されるということは ないのでしょうか。

    • ベストアンサー
    • Java
  • eclipseで新規Tomcatプロジェクトを作成する際に、最終画面で

    eclipseで新規Tomcatプロジェクトを作成する際に、最終画面で ・コンテキスト名(デフォルト値:プロジェクト名) ・Webアプリケーション・ルートとするサブディレクトリー(オプション)(デフォルト値:/) を設定する処があるのですが、ここの使い方がよく分りません。ためしに、 ・コンテキスト名:test01(プロジェクト名) ・Webアプリケーション・ルートとするサブディレクトリー:test01Sub01 と指定してやると、確かに test01 の下に test01Sub01 というサブディレクトリが作成されるのですが、Webアプリケーション・ルートであるはずの test01Sub01 の下に index.html を作成してみても、 localhost:8080/test01Sub01/index.html(Webアプリケーション・ルート下のindex.html) ではアクセスできません。 localhost:8080/test01/index.html(コンテキスト名下のindex.html) ではアクセスできます。 Webアプリケーション・ルートの設定を、どのように取り扱えばよいのか、分る方お教えください。 また、 「コンテキスト・ルート」と「Webアプリケーション・ルート」の違い(があればそれ)について、お教えください。 以上、よろしくお願いします。

  • eclipseとtomcat

    eclipseとtomcat 質問失礼します。 現在Tomcatを用いたWebアプリケーションの開発を始めています。 参考にしているサイトは http://www.searchman.info/java_eclipse/1100.html です。 かなり初歩的な質問かもしれませんが調べても解決策が見つからないのでお願いします。 Eclipse上でTomcatプロジェクトを始める時に、プロジェクト名を入力して「終了」を選択しても、プロジェクト作成画面が閉じないという現象が起きています。 現状では左側のツリーには作成したプロジェクトはできており、そのまま開発もできています。プロジェクト作成ウィンドウはキャンセルで閉じています。 しかし、参考サイトによるとプロジェクトが作成されると、C:\Tomcat6_0\conf\server.xml のファイルの中に作成されたプロジェクトが書き加わっているはずなのですが、確認したところ加わっていない状態です。 結局eclipse上で作成したプログラムを動かしても「404エラー」が出てしまいます。 恐らくTomcatプロジェクトがしっかり作成できていないのが原因だと思うのですが・・・・・ 何か原因がわかる方いましたら、よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう