• ベストアンサー

MVCモデルのJSPの使い方

こんにちは。二回目の質問をさせていただきます。 今MVCモデルとJDBCで、社員データをDBにいれる簡単なプログラムを作ろうとしているのですが、初期の段階で躓きました。 サーブレットにてBeanをSessionに関連付けているのですが、いざJSPにてBeanを使おうとするとエラーが出るのです。 JSPのコードは冒頭部分にきちんと下記のものを記述し、 (Beanクラス名はFileBeanです。サーブレットできちんとSessionで関連付けています) <jsp:useBean id="bean" class="FileBean" scope="session" /> JSPの中で、Beanのメソッドを使うようにしているのですが下記のようなエラーが出てしまいます。 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません注: sun.tools.javac.Main は推奨されません。 JSPファイル: /Nyuryoku.jsp の中の行: 3でエラーが発生しました 生成されたサーブレットのエラーです: C:\Apache Tomcat 4.0\work\localhost\SyainData\Nyuryoku$jsp.java:65: クラス org.apache.jsp.FileBean が見つかりません。 FileBean bean = null; ^ 因みに参考書のもので試してみたところ、JSPにおいてBeanを使おうとすると空のHTMLが吐き出され、ブラウザには真っ白な画面が表示されます。JSPのBeanの部分を削除すると、ブラウザには普通にHTMLの部分が表示されるのです。 以上二つのことから、JSPでのBeanの使い方がおかしい、というのはわかったのですが、自分でどう解決して良いのかわかりません。特に参考書のコードはちゃんと市販されているものなので、問題ないと思うのですが… 最後になりましたが、私の環境は Tomcat4.0 で OSはMEになります。 皆様お忙しいとは思いますが、ご教示の程宜しくお願い致します<(_ _)>

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

  • ベストアンサー
  • snuffy
  • ベストアンサー率53% (33/62)
回答No.2

原因は class="FileBean" の部分です。 解決方法として、以下の2つの手順を踏んで下さい。 (1)FileBeanをパッケージする。 J2SDK1.4 以降、無名パッケージ(=パッケージ化されていない)のクラスを他のクラスが参照することはできなくなりました。 つまり、JSPは他の無名パッケージであるクラス(ビーンなど)を参照することができません。 既にパッケージ済みならば、(2)に進んでください。 (2)class="xxx.yyy.FileBean" のようにパッケージ名を含めた完全修飾名でクラスを指定する。 あなたの問題は、以上で解決します。

makinko0129
質問者

お礼

お忙しい中ご教示くださりありがとうございました。 今までパッケージを使ったことなかったのですが、パッケージを使ったら無事動きました。 >J2SDK1.4 以降、無名パッケージ(=パッケージ化されていない)のクラスを他のクラスが参照することはできなくなりました。 そうなんですか。知らなかった…。とても勉強になりました。感動ものです。 思わず「なんでこういう知識知ってるのー!」と叫んでしまいました^_^; 皆様は沢山の本や雑誌を読んで知識を蓄えているんですね。 私も早く皆様の質問に回答できるようになりたいなぁ、と思うと同時に「まだしばらくは質問専門なんだろうなぁ」と嘆息してみたり… 今回は本当にありがとうございました<(_ _)> 深く感謝しております。

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

その他の回答 (1)

回答No.1

JavaBeanをパッケージの中に入れてみては?

参考URL:
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=50&t=000648
makinko0129
質問者

お礼

お忙しい中、ご教示くださりありがとうございました。 パッケージを使ったら無事解決しました。 本当にありがとうございました<(_ _)>

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

関連するQ&A