为了账号安全,请及时绑定邮箱和手机立即绑定

Serlvet之cookie和session学习

标签:
Java Html5 CSS3

HTTP 协议

Web通信需要一种语言,就像中国人讲中文,欧美说英文,Web使用的HTTP协议,也叫超文本协议。

鸡和鸭.png

使用HTTP协议的人分为两类:客户端和服务端。请求资源的角色是客户端,提供资源的是服务端。

通信.png

HTTP协议是一个很神奇的东西,他只负责说话,至于说了什么他也不知道。所以HTTP是无状态的协议。

鱼的记忆.png

会话

HTTP是没有状态,但是人们是有记忆的,人们想让HTTP记住某些东西,然后就提出几种解决方案:

  1. 隐藏域表单
  2. 重写url
  3. cookie
  4. session

cookis简介

cookie是小段的文本信息(微型redis数据库),大小为4kb左右,放在浏览器的内存或者磁盘中,可以设置存活时间,浏览器关闭就消失了。除非保存在磁盘。

cookies使用场景

  1. 记住用户名和密码
  2. 购物车
  3. 定向广告

发送cookies

  1. 创建cookies
  2. 设置最大时效
  3. 将Cookie放入到HTTP响应报头
Cookie c = new Cookie("userID", "a1234");  
c.setMaxAge(60*60*24*7);  
response.addCookie(c)  

读取Cookie

String cookieName = "userID";  
Cookie[] cookies = request.getCookies();  
if(cookies != null){  
for(Cookie cookie : cookies){  
if(cookieName.equals(cookie.getName())){  
doSomethingWith(cookie.getValue());  
}  
}  
}  

session

存在服务器内存的文本信息(微型redis数据库)

创建session

HttpSession session = request.getSession;  

HttpSession的API

pubic Object getAttribute(String name); //根据name 获取属性的值  
  
public void setAttriute(String name, Object value); //设置一个名称和对应的值  
  
public void logout() //将会话从客户端注销  

session使用场景

  1. 购物车
  2. 验证码

cookie与session区别

cookie session
存在浏览器 存在服务端
安全系数低 较安全

参考:

<< servlet与jsp核心编程 >>

<< servlet和jsp学习指南 >>

<< 图解HTTP >>

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
8
获赞与收藏
52

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消