我在Servlet中声明List用于临时保存数据,然后插入数据库:
List poList= new ArrayList();
首次用户输入数据,然后在10-15或30-45分钟后输入更多数据。
Servlet或Servlet中是否有旧数据在规定时间后销毁所有先前输入的数据?
答案 0 :(得分:2)
不要那样做。此webapp的所有用户只有一个servlet实例。这意味着所有用户将同时将数据存储在同一列表中。 HTTP会话是存储与特定用户关联的数据的地方,其生命周期必须跨越多个请求。
第一次请求:
request.getSession().setAttribute("myList", list);
第二次请求:
List<Something> myList = (List<Something>) request.getSession().getAttribute("myList);
另请注意,destroy无关紧要:当应用程序结束时调用destroy(例如,因为服务器已停止)。
答案 1 :(得分:1)
如果您希望按用户存储数据,则无法满足您的目的。将poList
添加到HttpSession
属性。在doPost()
/ {{1}中进行操作方法。
答案 2 :(得分:0)
这取决于。如果你的poList是单个的或者被声明为静态List,那么值就会保留在你的poList上。