• ベストアンサー

Eclipse-Tomcat環境のWEB-INF/classes

EclipseでTomcatプラグイン(sysdeoのtomcatPluginV31)を使用してJSPのページを作成しています。 たとえば、 class A{ int a = 10; } といったクラスを作ってWEB-INF/classesにA.classを配置しても、JSP側から <% A a = new A(); %> <html><body> <%=a.a%> </body></html> といった使い方をした場合、シンボルを解釈できないといったエラーが出てしまいました。WEB-INF/classesにclassファイルを配置しただけでは自作クラスを使用することはできないのでしょうか ご存知の方、お力をお貸しいただけないでしょうか お願いします。 環境 J2SDK SE 1.4.2.12 eclipse3.1.2 Tomcat 5.0.28 sysdeoのtomcatPluginV31

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

  • ベストアンサー
noname#49664
noname#49664
回答No.2

ん?? 単に、JSPから自作クラスを利用するだけなら、普通にできますよ。 packageの指定などはきちんとできてますか? それとPageディレクティブでimportをしていますか? 例えば、jp.hoge.Aというクラスならば、ソースコードは package jp.hoge; public class A { ・・・・ } という形で定義し、作成されたclassファイルは、 WEB-INF/classes/jp/hoge/A.class というように配置する必要があります。 また、JSP側では <%@page import="jp.hoge.A" %> としてこのクラスをimportしておく必要があります。  このimportするpageディレクティブを書き忘れるとクラスを認識しません。デフォルトパッケージでクラスを書いてimportしなかったりすると認識できないですよ。 そのあたりを再度確認してみてはいかがでしょう。

shibanori
質問者

お礼

ご指摘の通り、パッケージにして配置したら認識されましたw助かりました。 以後、パッケージ化するよう習慣づけたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.1

JSPから呼びたいときはJavaBeansのように 取り扱わないと無理ではありませんか? サーブレット同士ならば可能と思うのですが。

shibanori
質問者

お礼

ご回答ありがとうございます。 JavaBeansについて調べてみようと思います。 勉強する方向が定まったので大変助かりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連する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
  • TOMCAT + Eclipse

    TOMCAT :jakarta-tomcat-5.0.27.exe PLUGIN :tomcatPluginV21 Eclipse:eclipse-SDK-2.1.1-win32 上記のものを使って設定を行ったところ、TOMCATの起動がうまくできませんでした。 手(?)でStartとすると起動するのですが、Eclipseからの起動ができません。 手元にある参考書の通りに設定しているつもりなのですが・・・。 もし、これはちゃんと設定してる?っていうのがありましたら教えて下さい。 お願いします。

    • ベストアンサー
    • Java
  • eclipse でclassesフォルダーが表示されない

    Tomcat 6,Eclipse3.4 を使っています。 Eclipse でインストール時にワークスペースを作成して開発をしていますが、 何故か、WEB-INFフォルダーの下にあるclassesフォルダーがeclipse上で 見ることが出来ません。 Tomcatのマニュアル本などには、このclassesフォルダーにjavaファイルを保存するよう買いてあるので、「???」状態です。 アドバイスを宜しくお願い致します。

    • ベストアンサー
    • 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
  • Tomcat内のJSPファイルを削除したい

    事情がありにTomcat内のフォルダを 見せなければならなくなりました。 他人にTomcat内のファルダにあるサーブレット(+Beans等のクラスファイル)と JSPのソースを見られない様にしたいです。 またその上で実行も可能にしたいのですがどうすればいいでしょうか? サーブレット等は Tomcat 7.0/webapps/MyWebSite/WEB-INF/classes以下の クラスファイル(.class)だけを残してJavaファイル(.java)を削除 するか、Eclipseでソースをエクスポートさせない様にすると Javaのソースは見れなくなると思いますが、 JSPの場合だと Tomcat 7.0/webapps/MyWebSite/以下の JSPファイル(.jsp)を削除して、 Tomcat 7.0/work/ 以下にあるJSPをサーブレットに変換後 コンパイルされたファイル(.class)を残すだけではダメな様です。 他に方法はあるでしょうか? サーブレットのソースを見られないだけでも良しと考えるべきでしょうか?

    • ベストアンサー
    • Java
  • TomcatとEclipseのweb.xml[]について

    TomcatとEclipseのweb.xmlの<context-param>の設定について お聞きいたします。 windowsXP上にTomcatとEclipseをインストールし ${CATALINA.HOME}\confの直下にあるweb.xmlと Eclipseで作成したWEB-INF直下のweb.xmlの 両者に <context-param> <param-name>hoge</param-name> <param-value>foo</param-value> </context-param> と記述があり jspから application.getInitParameter("hoge"); またはHttpServletの子クラスから getServletContext().getInitParameter("hoge"); と呼びに言った場合どちらの設定が優先され また、その優先順位の記述(設定)はどこで 行うのでしょうか? ちなみにlogging.propertiesなどの設定も どちらが優先されるのか気になります。 尚、環境は Tomcat5.5 Eclipse3.2 です。 どうかご教授お願い致します。

    • ベストアンサー
    • Java
  • eclipseとtomcatで404エラー

    ----------------------------------- Windows7 Ultimate eclipse Indigo tomcat 5.5 ----------------------------------- eclipseとtomcatを使用して、JSPを動かそうとしています。 eclipseとtomcatとJDKはC:\pleiadesの下に配置しています。そしてワークスペースは C:\workspace\Testとして登録しています。(ちなみに動的Webプロジェクトで作成しています) 既存のJSPファイルをeclipse上で右クリックして、サーバーで実行とすると、eclipseの画面上にきちんと表示されるのですが、その後、そこで動いていたtomcatを終了させて、eclipseの上部にあるtomcatのアイコンをクリックし、その後、通常のブラウザで表示させようとすると404エラーが出てしまいます。(http://localhost:8080/Test/test.jsp) そもそも右クリック→実行の際に起動するtomcatとeclipse上部にアイコンで存在するtomcatはどう違うのでしょうか? そしてどうすれば、上部のtomcat起動からブラウザで直接JSPを呼び出すことが出来るのでしょうか? 申し訳ありませんが、ご教授お願い致します。

    • ベストアンサー
    • Java
  • Tomcatの「\WEB-INF\classes」内のクラスファイルが消えた。

    サーブレットを勉強しています。Eclipseを使っています。 ある時、PCが固まり強制終了してしまったのですが、起動させると、\WEB-INF\classes内のクラスファイルが消えてしまっていました(!)。 Eclipseを使っているのですが、どうすればまたクラスファイルを生成することができるでしょうか?Eclipse上で、再度javaファイルを保存し直しても、生成されなません(当たり前?)。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Eclipse+TomcatのHTML表示について

    Eclipse+TomcatのHTML表示について EclipseにTomcatプラグインを追加して、下記動作を行ったところ404エラーが出てしまいます。 WEB-INF以下に置いたHTMLファイルを正常に表示するためには、どのような設定が必要なのでしょうか? 環境:eclipse3.4/Tomcat6 1.プロジェクトの作成 新規プロジェクト>Tomcatプロジェクト プロジェクト名:Example コンテキスト名:/Example Webアプリケーション・ルートとするサブディレクトリ:/ コンテキスト定義の更新を可能にする(server.xml またはコンテキスト・ファイル):チェック 2.コンテキストの更新 プロジェクト右クリック>Tomcatプロジェクト>コンテキスト定義を更新 3.Tomcat起動 Tomcatプラグインからポート8080でTomcatを起動。 4.HTMLを配置してアクセス(1) 配置:/Example/WEB-INF/index.html アクセス:http://localhost:8080/Example/index.html 結果:404エラー 4.HTMLを配置してアクセス(2) 配置:/Example/WEB-INF/index.html アクセス:http://localhost:8080/Example/WEB-INF/index.html 結果:404エラー 5.HTMLを配置してアクセス(3) 配置:/Example/index.html アクセス:http://localhost:8080/Example/index.html 結果:正常表示

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

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

    • ベストアンサー
    • Java