本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

转载请注明 出自 : luogg的博客园 谢谢配合!

两个会话的技术cookie session

会话概念 : 打开浏览器,多次访问WEB资源,关闭浏览器,整个过程称为一次会话.
cookie 客户端技术 不是很安全
session 服务器端技术

session 技术

创建之后,访问
关闭浏览器之后.session销毁,

同一个名字,不同的value,最后的会覆盖之前的

  • cookie基于客户端,不安全,并且大小和个数的限制。
  • void setAttribute(String name, Object value)
  • Object getAttribute(String name)
  • String getId() 获取seesion的唯一的ID
  • void invalidate() 销毁的seesion
  • void removeAttribute(String name) 从会话中删除name的属性值,若不存在不会执行
  • void setMaxInactiveInterval(int seconds) 允许客户请求的最长时间

====

session的创建和销毁

  • 第一次访问资源,调用request.getSession(),创建session
  • 销毁
    • 非正常关闭服务器()
    • session的过期,Tomcat默认是30分钟。(用户的发呆时间)
    • 调用session.invalidate()手动销毁session

      session属性的默认保存时间为30min,如果要修改,可以在web.xml和程序中进行修改以Tomcat为例,Tomcat --> conf --> web.xml --> <session-fonfig> --> <session-timeout> 在程序中修改用 : setMaxInactiveInterval(int val)单位:秒

session 可以用来做什么

1.网上商城中的购物车。
2.保存登录的用户信息。
3.将某些数据放入到session中,供同一用户的各个页面使用。
4.防止用户非法登录到某个页面

HttpSession 生命周期

1、客户端向服务器第一次发送请求的时候,request中并无SessionID
2、此时服务器会创建一个Session对象,并分配一个SessionID。Session对象保存在服务器端,此时为新建状态,调用session.isNew()返回true。
3、当服务器端处理完毕后,会将SessionID通过response对象传回到客户端,浏览器负责保存到当前进程中。
4、当客户端再次发送请求时,会同时将SessionID发送给服务器。
5、服务器根据传递过来的SessionID将这次请求(request)解析
6、循环执行过程3-5,直到Session超时或销毁

JavaWeb_day05cookie_session_HttpSession的更多相关文章

随机推荐

  1. 【NLP】Python NLTK处理原始文本

    Python NLTK 处理原始文本 作者:白宁超 2016年11月8日22:45:44 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公开 ...

  2. 玩转spring boot——结合redis

    一.准备工作 下载redis的windows版zip包:https://github.com/MSOpenTech/redis/releases 运行redis-server.exe程序 出现黑色窗口 ...

  3. bash字符串操作

    参考 http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 问题:bash怎么提取字符串的最后一位?例如python中strin ...

  4. canvas快速绘制圆形、三角形、矩形、多边形

    想看前面整理的canvas常用API的同学可以点下面: canvas学习之API整理笔记(一) canvas学习之API整理笔记(二) 本系列文章涉及的所有代码都将上传至:项目代码github地址,喜 ...

  5. android计算每个目录剩余空间丶总空间以及SD卡剩余空间

    ublic class MemorySpaceCheck { /** * 计算剩余空间 * @param path * @return */ public static String getAvail ...

  6. 如何使用dos命令打开当前用户、当前日期、当前时间以及当前用户加当前时间?

    1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select user();当前用户 select cur ...

  7. MongoDB备份(mongodump)和恢复(mongorestore)

    MongoDB提供了备份和恢复的功能,分别是MongoDB下载目录下的mongodump.exe和mongorestore.exe文件 1.备份数据使用下面的命令: >mongodump -h ...

  8. CentOS:ECDSA host key "ip地址" for has changed and you have requested strict checking(转)

    原文地址:http://blog.csdn.net/ausboyue/article/details/52775281 Linux SSH命令错误:ECDSA host key "ip地址& ...

  9. UITableView(二)

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  10. 酷酷的CSS3三角形运用

    概述 在早期的前端Web设计开发年代,完成一些页面元素时,我们必须要有专业的PS美工爸爸,由PS美工爸爸来切图,做一些圆角.阴影.锯齿或者一些小图标. 在CSS3出现后,借助一些具有魔力的CSS3属性 ...