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

こんにちは。二回目の質問をさせていただきます。
今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になります。

皆様お忙しいとは思いますが、ご教示の程宜しくお願い致します<(_ _)>

A 回答 (2件)

原因は class="FileBean" の部分です。


解決方法として、以下の2つの手順を踏んで下さい。

(1)FileBeanをパッケージする。
J2SDK1.4 以降、無名パッケージ(=パッケージ化されていない)のクラスを他のクラスが参照することはできなくなりました。
つまり、JSPは他の無名パッケージであるクラス(ビーンなど)を参照することができません。
既にパッケージ済みならば、(2)に進んでください。

(2)class="xxx.yyy.FileBean" のようにパッケージ名を含めた完全修飾名でクラスを指定する。

あなたの問題は、以上で解決します。
    • good
    • 0
この回答へのお礼

お忙しい中ご教示くださりありがとうございました。
今までパッケージを使ったことなかったのですが、パッケージを使ったら無事動きました。

>J2SDK1.4 以降、無名パッケージ(=パッケージ化されていない)のクラスを他のクラスが参照することはできなくなりました。

そうなんですか。知らなかった…。とても勉強になりました。感動ものです。
思わず「なんでこういう知識知ってるのー!」と叫んでしまいました^_^;
皆様は沢山の本や雑誌を読んで知識を蓄えているんですね。
私も早く皆様の質問に回答できるようになりたいなぁ、と思うと同時に「まだしばらくは質問専門なんだろうなぁ」と嘆息してみたり…

今回は本当にありがとうございました<(_ _)> 深く感謝しております。

お礼日時:2003/07/26 22:15

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



参考URL:http://saloon.javaranch.com/cgi-bin/ubb/ultimate …
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/07/26 22:04

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