一、什么是Session
1、Session对象
Session技术类似医院办理就诊卡和医院为每个病人保留病历档案的过程。当浏览器访问Web服务器时,Servlet容器就会创建一个Session对象和ID属性, Session对象就相当于病历档案,ID就相当于就诊卡号。当客户端后续访问服务器时,只要将ID传递给服务器,服务器就能判断出该请求是哪个客户端发送的,从而选择与之对应的Session对象为其服务。
2、Session的优点
Session还具有更高的安全性,它将关键数据保存在服务器。cookie则是将数据存在客户端的浏览器中。因此cookie是较为危险的,若客户端遭遇黑客攻击,cookie信息容易被窃取,数据也可能被篡改,而运用Session可以有效避免这种情况的发生。
二、Session案例演示 - 实现购物车
通过所学Session知识及购物车的访问流程,以购买蛋糕为例,模拟实现购物车功能。
三、新建Web项目
1、创建Java Enterprise
项目,添加Web Application
设置项目名称与保存位置
单击【Finish】按钮
2、修改Artifact名称,重新部署项目
在项目结构窗口里修改Artifact名称
在服务期配置窗口里,重新部署项目
修改首页
启动服务器,查看效果
3、创建蛋糕实体类
创建net.lh.session.bean
包,然后在包里创建Cake
类
4、创建蛋糕数据库模拟类
创建net.lh.session.dao
包,然后在包里创建CakeDao
类,用于模拟访问蛋糕数据库
5、创建蛋糕列表处理程序
创建net.lh.session.servlet
包,然后在包里创建CakeListServlet
类,用于显示所有可购买蛋糕的列表,通过单击“购买”链接,便可将指定的蛋糕添加到购物车中
6、创建购物处理程序
在net.huawei.session.servlet
包里创建PurchaseServlet
类
7、创建购物车处理程序
在net.lh.session.servlet
包里创建CartServlet
类
8、启动服务器,查看结果
启动服务器,访问http://localhost:8080/SessionDemo/cake_list
9、录屏演示购买蛋糕