购物车模块中使用session过程:
- 在电子商务网站中,从一个客户开始购物,到最后结账,整个过程为一个Session;
- Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存放客户状态的信息;
- Servlet容器为HttpSession分配一个惟一标识符,称为SessionID。Servlet容器把SessionID作为Cookie保存在 客户的浏览器中;
- 每次客户发出HTTP请求时,Servlet容器可以从HttpRequest对象中读取SessionID,然后根据SessionID找到相应的HttpSession对象,从而获取客户的状态信息。
Session的生存周期
- 当客户第一次访问Web应用中支持Session的某个网页时,就会开始一个新的Session;
- 接下来当客户浏览这个Web应用的不同网页时,始终处于同一个Session中;
- 默认情况下,JSP网页都是支持Session的,也可以通过以下语句显示声明支持Session:
<%@ page session= "true">
- 在以下情况中,Session将结束生命周期,Servlet容器会将Session所占用的资源释放掉:
1)客户端关闭;
2)Session过期;
3)服务器端调用了HttpSession的invalidate()方法。
- Session过期是指当Session开始后,在一段时间内客户没有和Web服务器交互,这个Session会失效,HttpSession类的setMaxInactiveInterval()方法可以设置允许Session保持不活动状态的时间(以秒为单位),如果超过这一时间,Session就会失效。
常用HttpSession接口
- getId():返回Session的ID
- invalidate():使当前的Session失效,Servlet容器会释放HttpSession对象占用的资源;
- setAttribuate(String name, Object value)将一对name/value属性保存在HttpSession对象中;
- getAttribute(String name) 根据name参数返回保存在HttpSession对象中的属性值;
- isNew():判断是否是新创建的Session。如果是新创建的Session,返回true,否则返回false;
- setMaxInactiveInterval():设定一个Session可以处于不活动状态的最大时间间隔,以秒为单位。如果超过这个时间,Session自动失效。如果设置为负数,表示不限制Session处于不活动状态的时间。
默认情况下的SessionID和Cookie
- 第一次打开浏览器添加商品的时候,服务器会往你的浏览器写入一个Cookie,Cookie的value为SessionID,该Cookie的name由系统使用的服务器来决定(例如使用tomcat服务器,则该Cookie的name为JSESSIONID),该Cookie的存活周期为会话期间,只要会话结束,Cookie就会被清除;
- 第二次打开新浏览器的时候,浏览器的Cookie已经不存在SessionID,服务器因为无法得到客户端发送过来的SessionID,所以会创建新的Session。
SessionID的查看方法
- 点击IE选项->选择隐私选项卡->点击高级->勾选替代自动cookie处理->选中在第一方和第三方Cookie下的提示选项->点击确定,这样在客户发起http请求时,就会有cookie提示。
分享到:
相关推荐
购物车案例: 基本设计思想: (1)使用session机制,保存用户状态(用户购买的商品)。 (2)为了方便对购买操作的处理(比如,购买商品、 删除已经购买的商品、查看已经购买的商品、计价等等), 设计一个Cart...
网上商城购物车实现原理,PHP+Mysql实现,包含使用Cookie和Session两种实现方式的源代码。使用前请先导入数据表备份到你的mysql数据库中,然后修改config.php文件中的数据库配置。供PHPer学习交流,有任何意见或建议...
网上购物中过无车模块,可以实现记录用户添加到购物车中的信息,主要用到了session,和cookie技术,web开发,mysql数据库
通过session保存购买的物品,修改物品数量。添加、删除。易懂。
本次实验是一个基于SSH框架的网上商城,本次实验...对于购物车模块和订单模块来说,首先因为需要保存购物车和订单信息到session中,所以这俩个模块的功能实现主要是封装购物车和订单的信息,然后再从session域中取出。
购物车模块是电子商务网站主要的核心模块。介绍了常用的购物车的设计技术,运用ASP中的Session对象实现购物车的功能,并给出了重要部分的源代码。
购物车模块登录页面package com filter; import java io IOException; import javax servlet Filter; import javax servlet FilterChain; import javax servlet FilterConfig; import javax servlet ...
本项目主要实现了用户管理模块、商品分类展示模块、购物车模块、订单模块。 用户管理模块实现了用户注册、实时验证、用户登录的功能。 商品展示模块实现了依照分类进行查找显示商品功能,并实现了组建化分页。 ...
3. 购物车模块:实现购物车的添加、删除、清空、结算功能。购物车采用Session保存,可以持久存储用户选购商品。 4. 订单模块:实现订单的生成、支付、发货、退货等功能。包含订单创建、支付(模拟)、发货处理等流程。 5....
django-购物车 基于 ajax 的通用 django 购物车解决方案。 安装 使用以下命令安装此软件包: python setup.py install 设置 将 SESSION_SERIALIZER 设置配置为“PickeSerializer”,因为它可以存储非原始 python ...
项目使用的是 ASP.NET Web+SlqServer 开发用于购物,前台模块:登录、注册、首页商品展示,商品搜索,商品类别、商品分页、图片轮播、商品详细、评论模块、评论回复、购物车模块、订单模模块,个人中心模块;...
26.4 权限管理系统具体实现——模块操作 26.5 权限管理系统具体实现——功能操作 26.6 权限管理系统具体实现——角色操作 26.7 权限管理系统具体实现——用户操作 26.8 小结 第27章 商业银行设备...
2.利用Cookie会话技术保存登录状态、购物车商品,利用Session会话技术保存登录时生成的验证码。 3. AJAX完成图片上传部分,Apache服务器接受HTTP请求,MySQL数据库实现数据增删改查。 对大家有帮助的化可以点赞关注...
毕业设计之SpringCloud-B2C电子商务平台服务端。...完成用户订单和购物车模块前端、后端service层和dao层的实现及测试调试 9). 利用SpringBoot的文件上传完成用户头像上传,Ajax实现商品多图片上传
包含用户管理,订单,品类,产品,购物车,地址,在线支付七个模块。项目的演进会逐步融合tomcat集群,nginx负载均衡,redis缓存分布式,redis分布式锁,单点登录,Spring Session,Spring Schedule定时关单,...
购物车模块实现 支付模块实现 秒杀模块实现 5. 开发过程中问题&优化 1.1. 登录 单点登录怎么实现 session怎么共享 1.2. 缓存 哪些场景需要用到redis redis存储格式的选择 怎么提高redis缓存利用率 缓存如何同步 ...
如果有感兴趣的高手在学习这个阶段的过程成遇到了上面提到的问题,请给我个链接,真的特别想解决,还有就是老师教程时购物车模块用的时保存到session域中,且有多个是否登录判断时根据浏览器session中的user来判断,...
项目描述:主要实现网上购物系统功能模块:用户登录 注册、商品显示、购物车、订单处理等。 具体描述:独立完成项目的各个开发模块,本系统采用了典型MVC的三层架构,利用jsp实现表现层,struts实现业务逻辑,...
内置模块详解之time与datetime模块 内置模块详解之Range模块 内置模块详解之OS模块 内置模块详解之Sys模块 内置模块详解之Shelve模块 内置模块详解之Xml模块 内置模块详解之Configparser模块 内置模块详解之Hashlib...
模块划分 首页 菜品搜索功能 1 首页轮播 1 商品收藏 1 热门商品推荐 1 优惠活动顶部通知 1 菜单页 商品分类展示 4/ 5 菜品加入购物车 1 一键下单 1 商品收藏 1 购物车 订单状态 1/2 订单总价计算 付款 1 订单评价 1/...