1、session 简单 优点:开发简单方便,适合在单台服务器(重要条件)中使用是不错的方案。缺点:太占内存,用户没打开一个浏览器就创建一个session,如果不断的打开不断的占用你的内存,session 会话周期不会自动断开,不太适合在多台服务器(集群环境:比如说50台服务session同步会非常频繁)中使用,但可以采用session服务器上来解决此问题。如果小型企业不会有那么多的资金
2、cookie(url参数(userid)这种方式比较繁琐,目前卓越网使用这样方式)+数据库 稍微复杂 (当当网,卓越网)
优点:可以避免session同步,减少使用内存,在集群环境下不占用内存,避免集群环境下session同步带来的性能损失。
缺点:用户会把cookie禁用了,浏览器目前是默认打开的,增加了数据库的压力(可以采用分布式缓存技术:内存-硬盘)
a、用户必须要打开cookie,没有打开的话建议用户打开,(当当网采用)
3、EJB状态bean
第一种和第二种做购物车比较普遍
多浏览器可以共享购物车
方法:通过自己创建一个监听器来完成