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

サーブレットで定義された文字列をJSPに渡して表示させるようにしたいのですが、
サーブレットからJSPへのデータの渡し方がよくわかりません。

参考書やWEBカンファレンスなどのサンプルを見るとすべてサーブレット、Beans、JSPの連携ばかりです。
そもそもサーブレットとJSPだけのWEBアプリケーションは作れないのでしょうか?
もしくは、Beansを使用したほうが何かと効率がいいからなのでしょうか?
どなたか是非教えてください。

A 回答 (3件)

質問で書かれている Beans とは、EJB を指しているのですか?


それとも session で受け渡すときに使う jsp:useBean を言っている
のでしょうか?

> そもそもサーブレットとJSPだけのWEBアプリケーションは作れないのでしょうか?

そんなことはないです。Servlet だけでも、JSP だけでも WEBアプリケーションは
作成できます。それぞれ得意とすることがあるだけの話。


> サーブレットからJSPへのデータの渡し方がよくわかりません

session 経由で渡すことになります。

例えば、String なデータを渡す場合には、Servlet の方で、

HttpSession session = request.getSession(true);
String str; // ※ これを渡す
  ...
session.setAttribute("data", str);

とやり、JSP に forward します。JSP の方では、

<%
String str;
str = (String)session.getValue("data");
%>

って感じで受け取れます。
    • good
    • 0
この回答へのお礼

なるほど、sessionを使うんですね。
この場合だと、JSP側に <jsp:useBeans ... >
は、いらないんですよね?

ありがとうございます。

お礼日時:2001/08/22 10:01

なぜBeanを使用するのか。


作っているうちに分かります。
ソースは、どんどん肥大化していきます。
そうすると、面倒な部分や決まりきった部分は外だししたくなります。

おのずと、ユーティリティ系のメソッドを一つにまとめたBeanや、
データの固まりをBeanにしたgetter、setterを持つBeanを作りたくなります。

たとえば、DBのレコードを一つのBeanにして、そのままsessionにくっつけて
JSPに送り出したり・・とってきたDBのレコードをエラーチェックして、ブランクと0を置き換えたり、文字列の数字をintにしてみたり、intとStringと両方取得できるメソッドを付け加えたり。

この本はとてもBeanの重要性を教えてくれるし、オブジェクト指向の考え方をとても分かりやすく伝えてくれるので、是非読むことをお奨めします。

Javaの格言―より良いオブジェクト設計のためのパターンと定石
ナイジェル ウォーレン (著), Nigel Warren (原著), フィリップ ビショップ (著), Philip Bishop (原著), 安藤 慶一 (翻訳)ピアソン・エデュケーション ; ISBN: 4894711877

AMAZONのURLは下記

参考URL:http://www.amazon.co.jp/exec/obidos/ASIN/4894711 …
    • good
    • 0
この回答へのお礼

オブジェクト指向の真の目的であるリソースのコンポーネント化ですね。
構造化でいうところの共通モジュールを作るという感覚と同じことなんでしょうか。

Beansについての理解を深めたいと思っていたので、
紹介していただいた本を読んでみたいと思います。

ありがとうございました。

お礼日時:2001/08/22 10:20

こんにちは。



いつも教えてもらってばかりなので
知っている範囲のことだけ記入させていただきます。

Servlet+JSPのサンプルは以下のものを
参考にしました。
お役にたてれば幸いですが。。。

1.JAVAPRESS VOL.17

2.参考URL参照

参考URL:http://www-6.ibm.com/jp/software/groupware/tips/ …
    • good
    • 0
この回答へのお礼

IBMの樋口研究室のページは非常に参考になりました。
これで一通り理解できたかと思います。
これからも大いに活用していきたいです。
回答ありがとうございました。

お礼日時:2001/08/22 10:07

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