一个对象的神奇复活,学习session心得
上一篇 /
下一篇 2009-02-22 22:52:03
/ 个人分类:Jsp之路
今天主要研究如何进行session开发,发现一个非常有意思的现象。
在开发一个用于电子购物网站的实例中,先编写一个类,叫BuyList吧,相当于一个购物单,中间有这样一段代码
HttpSession session=request.getSession();
BuyList list=(BuyList)session.getAttribute("list");
if(list==null){
list=new BuyList();
session.setAttribute("list",list);
}
list.addList(new Weapon(name,id,1,price));
以上代码是在session中setAttribute一个叫“list”的key,它是一个对象,实际上应该是指向一个对象的地址。
然后代码转到另一个servlet,用来显示购物单的内容,中间又有一段代码
HttpSession session=request.getSession();
BuyList list=(BuyList)session.getAttribute("list");
ArrayList<Weapon> weaponlist=list.getList();
看,这个list居然在另外一个class文件中神奇地复活,注意它是不是公共变量,但是通过session.getAttribut()/setAttribut(),把BuyedList类的实例的地址放在这个Attribut中,就可以通过session随时得到这个BuyedList的实例,这多么有趣。我想这也许就是session类似cookie的地方,只是在服务器端而已。
收藏
举报
TAG: