- - PR -
struts struts-config(scope=session)
1|2|3|4|5
次のページへ»
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-11-04 11:45
struts-config.xml内にスコープをsessionとして以下のように定義します。
<action path="/test" type="jp.test.TestAction" name="TestActionForm" scope="session" input="/test.jsp"> <forward name="success" path="/success.do"/> </action> 上のリクエスト後、一連の処理が完了しsessionが不要になった場合に削除したいときは、 やはりプログラム側でセッション削除のコードを書く必要があるのでしょうか? struts-config.xmlの定義で、セッションを無効化することができるのでしょうか? よろしくお願いします。 | ||||||||||||
|
投稿日時: 2003-11-04 12:30
セッションのライフサイクルを管理するような昨日は Struts には無かったと思います。
どこかの Action / Filter / JSP 内で session.invalidate() するかセッションがタイムアウトするまで持続します。 | ||||||||||||
|
投稿日時: 2003-11-04 13:03
やはりそうなんですね。
今以下のような処理の中で、セッション保持を使用したいとおもっていたのですが、 登録画面 ↓ ボタン押下 :セッション内にActionFormの情報を保持 登録内容の確認画面 ↓ ボタン押下 実際の登録処理 :セッション内のActionFormの情報を使って登録 ※登録後、セッション内のActionForm情報は不要 でも、明示的にセッション内のActionFormをクリアしなきゃいけないというのは、ちょっと気持ちわるい気がするのは私だけでしょうか・・・ [ メッセージ編集済み 編集者: nori 編集日時 2003-11-04 13:34 ] | ||||||||||||
|
投稿日時: 2003-11-06 12:42
私はスコープを必ずrequestにしています。
| ||||||||||||
|
投稿日時: 2003-11-06 19:44
なぜそうしているのですか? 私がセッションにもつ理由は、確認画面で入力された情報をHiddenで隠すのは セキュリティ上あまりよくないと思いセッションに保持しています。 | ||||||||||||
|
投稿日時: 2003-11-10 11:31
私もゆんさんと同じくstrutsに管理させるBeanのスコープは全てrequestにしています。 理由は、 (1)生成がstrutsで破棄が自分のソースとなると、前後関係を考えるのが非常に面倒 ⇒自分で管理するほうが安全な気がする。 (2)下手に、大きなオブジェクトを入れられるとかなわない。 ためですね。 元の書き込みとはそれてしまっていますが。。。。 | ||||||||||||
|
投稿日時: 2003-11-10 18:15
こんにちはtoppoです。
スコープをrequestにするという事と、 値をhiddenで持つ事は実質的には 違いますよね。 だから、hiddennで持つ事がセキュリティ上不安 という心配に対しては、恐らく当てはまらないでしょう。 なので、解決案としての "スコープをrequestにしてみる" は再度検討する意義がありそうですね。。 それでは。 | ||||||||||||
|
投稿日時: 2003-11-10 18:19
(1)については、自分で管理するほうが安全ですか? (面倒という話になると、元も子もありませんが・・) 情報がクライアント側で持たれるんですから安全ではないですよね。 パスワードがHiddenで埋め込まれるとなると・・・どうでしょう? (2)は確かにリソースは犠牲になりますが、でも(1)の安全性を考慮した設計をする上ではしかたないと思いますが。。ただ、今回の質問させていただいたとおり、私も無駄なリソース(使い終わったセッション)をなるべくなくしたいとは考えています。 | ||||||||||||
1|2|3|4|5
次のページへ»
