- PR -

BEANとSessionの関係

1
投稿者投稿内容
初心者たろう
常連さん
会議室デビュー日: 2005/10/13
投稿数: 30
投稿日時: 2005-10-13 19:05
よろしくお願いします。
Apple obj = (Apple)BJeans.instantiate(getClass().getClassLoader(),"Appleのパスを入力");

obj = setAddress(txt);

HttpSession ses = request.getSession(true);
session.setAttribute("Apple",obj);

のようにServletを組みました。Beanに格納したものを表示させるJSPは、
<jsp:useBean id='Apple' class='Beanのパス', scope='session'/>
のようにしましたが、setAttributeのところでエラーが発生します。

そのエラー内容が、
「引数(boolean)をもつ型、javax.servlet.http.HttpSession用に起動されたメソッドgetSessionは定義されてません。」となります。

import javax.servlet.http.*;は宣言済みですし、セッションが使えないのがどうもわかりません。

よろしくお願いします。




山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-10-13 21:15
setAttributeのところではなく、getSession() のところでエラーが発生しているのではないでしょうか?
エラーとはコンパイルエラーのことですか?
エラーメッセージを全て貼り付けてみてください。
初心者たろう
常連さん
会議室デビュー日: 2005/10/13
投稿数: 30
投稿日時: 2005-10-14 13:29
エラーはコンパイルエラーです。JAVA開発用にVAJ3.5をつかってます。
エラーメッセージは
「引数(java.lang.String, abc.ore.common.AppleBean)をもつ型javax.servlet.http.HttpSession用に起動されたメソッドsetAttributeは定義されてません。」です。
ちなみに私がやろうとしているのは、HTMLファイルがあり、そこにテキストボックス(県名)があります。それを送信ボタンで次のリンク先にとばす前に、BEANに県名を格納します。リンク先の県名をBeanから取ってきたパラメータを表示させます。そのページにテキストボックスの住所があり、送信ボタンを押して、BEANに住所を格納します。次のページで始めに取ってきた県名と前のページで取ってきた住所をBEANからとってきて表示させようとしてますが、
始めに取ってきた県名のみNULLでBEANに格納さていないようなのです。
そこでSESSIONを使ってみるとよいのではと思った次第です。
Servlet上ではPOST()でプロシージャ-に入り、BEANのオブジェクト(AppleBean ab = new AppleBean)をつくり、県名などのパラメータをセットさせ、HttpSession hs = request.getSession(); hs.setAttribute(AppleBean, ab);としてるのですが、これでどこが悪いか検討つくでしょうか?説明不足で申し訳御座いません。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-10-14 14:13
最初の投稿と
>そのエラー内容が、
>「引数(boolean)をもつ型、javax.servlet.http.HttpSession用に起動されたメソッドgetSessionは定義され
>てません。」となります。

先ほどの投稿
>「引数(java.lang.String, abc.ore.common.AppleBean)をもつ型javax.servlet.http.HttpSession用に起動さ
>れたメソッドsetAttributeは定義されてません。」です
でエラーが違いますね。どちらもメソッドが見つからない旨のエラーっぽいですが HttpSession を解決出来ているのが妙なところです。
サーブレット API を含むライブラリはコンパイル時のクラスパスに適切に設定されていますか?
また、JVM のバージョンは?
1

スキルアップ/キャリアアップ(JOB@IT)