0

データベースを挿入する前に、データを一時的に保持するためにサーブレットで List を宣言します。

List poList= new ArrayList(); 

ユーザーは初めてデータを入力し、10 ~ 15 分または 30 ~ 45 分後にさらにデータを入力します。

古いデータはサーブレットまたはサーブレットで利用できますか? 所定の時間後に以前に入力されたすべてのデータを破棄しますか?

4

3 に答える 3

2

そうしないでください。この Web アプリケーションのすべてのユーザーに対して、サーブレット インスタンスは 1 つだけです。これは、すべてのユーザーが同時に同じリストにデータを保存することを意味します。HTTP セッションは、1 人の特定のユーザーに関連付けられたデータを格納する場所であり、その有効期間は複数の要求にまたがる必要があります。

最初のリクエスト:

request.getSession().setAttribute("myList", list);

第二の要求:

List<Something> myList = (List<Something>) request.getSession().getAttribute("myList);

また、destroy は問題ではないことに注意してください。destroy は、アプリケーションが終了したときに呼び出されます (たとえば、サーバーが停止したため)。

于 2012-05-28T18:53:44.340 に答える
1

ユーザーごとにデータを保存する場合、これは目的を果たしません。as属性にpoListを追加します。/メソッドで操作します。HttpSessiondoPost()service()

于 2012-05-28T18:53:05.487 に答える
0

場合によります。poList がシングルトンにあるか、静的リストとして宣言されている場合、値は poList に保持されます。

于 2012-05-28T18:50:36.450 に答える