您的位置:首页 > 其它

实现购物的SERVLET程序的实战记录

2010-03-11 00:41 190 查看
1.显示网站所有商品的SERVLET
2.完成购买的SERVLET
3.显示所有己购买商品的SERVLET
1.CN.ITCAST.SHOPPING,在NEW LISTSERVLET.J***A中,ITERATOR迭代输出所有商品.WEBUTIL.GETBOOKS,MAP.KEYSET.ITERATOR,MAP.GET KEY,OUT.WRITE输出.链接为/DAY6/SERVLET.BUYSEVLET?BOOKID?BOOK.GETID.
NEW BUYSERVLET.J***A,根据用户传递的BOOKID完成购买.REQUEST.GETPARAMETER BOOKID,WEBUTIL.GETBOOKS.GET BOOKID,先加到购物车,再将购物车加SESSION中.获得会话对象REQUEST.GETSSION,再SESSION.GETATTRIBUTE CART,若无购物车,NEW ARRALIST,再SESSION.SETATTRIBTE,若有购物车,CART.ADD BOOK,然后再跑到一个显示所购买商品的页面.使用RESPONSE.SENDREDIRECT 重定向到本页面.
由于使用SESSIION,所以可以用转发和重定向技术.
NEW LISTCARTSERVLET.J***A,执行REQUWEST.GETSESSION,SESSION.GETATTRIBUTE CART,判断CART!=NULL,注意SESSSION.GETATTRIBUTE CART 返回的是LIST类型.然后FOR 循环ITERTATOR迭代输出所有已购买商品列表.发布网站工程,浏览器访问检测一下效果.如上完成购物的整个流程.
问题:
新开一个窗口会开一个新的进程,开启了一个新的会话,就是一个新的SESSION.与以前的SESSIONFQ无关.
SESSION实现原理:查看PPT原理图
SESSION的实现是基于COOKIE.产生一个SESSION后有一个SETSSIONID,然后作为一个COOKIE发送给浏览器.
要相解决新会话中保留以前SESSION的信息,就必须人为获取过去的SESSIONID.执行REQUEST.GETSSSION,SESSION.GETID,作为NEW COOKIE的参数,创建COOKIEN发送给浏览器.注意设置COOKIE.SETMAX有效期,RESPONSE.ADDCOOKIE .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: