0

I declare List in Servlet for temporary hold the data, before inserting database:

List poList= new ArrayList(); 

First time user enter the data,and then after 10-15 or 30-45 minutes he enter more data.

Does old data is available in Servlet or Servlet Destroy the all previous entered data after prescribed time ?

4

3 回答 3

2

不要那样做。这个 webapp 的所有用户只有一个 servlet 实例。这意味着所有用户将同时将数据存储在同一个列表中。HTTP 会话是存储与特定用户相关的数据的地方,其生命周期必须跨越多个请求。

第一个请求:

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

第二个请求:

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

另请注意,destroy 无关紧要:在应用程序结束时调用destroy(例如,因为服务器已停止)。

于 2012-05-28T18:53:44.340 回答
1

如果您想为每个用户存储数据,这将无法满足您的目的。将其poList添加到HttpSessionas 属性中。在doPost()/service()方法中对其进行操作。

于 2012-05-28T18:53:05.487 回答
0

这取决于。如果您的 poList 在单例中或被声明为静态列表,则值将保留在您的 poList 中。

于 2012-05-28T18:50:36.450 回答