比较Cookie、Session、Application

Cookie、Session和Application都是用来传递值的,但是它们的传值范围和存储效果有所不同。


在session.jsp页面中获取首页输入的姓名,并通过Cookie或者Session或者Application保存然后再传递到result.jsp页面:


Cookie:

String name = request.getParameter("name");//获取用户填写的用户名

//创建Cookie

Cookie mycook = new Cookie("name",name);

response.addCookie(mycook);

//获取保存在Cookie范围内的对象

String nameCookie = "";

Cookie[] cook = request.getCookies();

for(int i=0;i<cook.length;i++){

nameCookie+=cook[i].getValue()+"第"+i+"次<br/>";

}

Session:

String name = request.getParameter("name");//获取用户填写的用户名

//创建Session

session.setAttribute("name",name);//将用户名保存在session对象中

//获取保存在session范围内的对象

String nameSession = (String)session.getAttribute("name");


Application:

String name = request.getParameter("name");//获取用户填写的用户名

//创建Application

application.setAttribute("name",name);

//获取保存在Application范围内的对象

String nameApp = (String)application.getAttribute("name");


总结:

Cookie保存值时会同时传入另一个值,这样就会使在读取数据的过程中出现错误。

Session可以实现单一的页面之间的传值,不会同时存入其他的信息,但是Session所保存的值只适用于当前访问进程中,再次重载会丢失数据。

Application也可以实现单一的页面之间的传值且不会存入其他值,同时Application能始终保存该值,就算页面重载也不会丢失。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值