JAVA servlet中怎样把表中数据用list装,并把list存入session中?
java">List<User> list = new ArrayList<User>;
User user = new User();
list.add(user);
HttpSession session = request.getSession() ;
session.setAtrribute("users",list) .
list指表、一览表、 明细表、目录、名单,在计算机领域指序列。在编程语言中,List是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。list是类库提供的众多容器(container)之一,在集合的任何位置增加或删除元素都很快,但是不支持随机存取;以模板方式实现(泛型),可以处理任意型别的变量,包括使用者自定义的资料型态。
当浏览器访问服务器时,服务器会创建一个session对象(该对象有一个id属性,其值是唯一的。一般称之为sessionId),服务器在默认情况下,会使用cookie机制(将sessionId放到set-cookie消息头)将这个sessionId发送给浏览器,当浏器再次访问服务器时,会将sessionId发送给服务器端,服务器依据sessionId找到之前的session对象。
假设使用jdbc连接数据库:
一张表对应一个模型对象,
执行查询获得结果集,循环结果集,构造对象,
再讲构造好的对象放入list
代码:
List<Object> list=new ArrayList<Object>();
while(result.next()){
Object o =new Object();
o.setXXX(result.getXXX());
...
list.add(o);
}
HttpSession session=request.getSession();//获得一个session对象
session.setAttribute("list",list);//绑定数据
jsp页面依据绑定名称获得绑定值
<%List l=session.getAttribute("list");
后续操作。。
%>
session.removeAttribute(String name);//解除绑定
服务器会将空闲时间过长的session对象删除掉,session.setInvalidate();//使之无效,清空session对象里面的数据,可以给其他客户端继续使用
一般服务器默认的
空闲时间是30分钟