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

转载请注明 出自 : 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】前戏:一起走进条件随机场(一)

    前戏:一起走进条件随机场 作者:白宁超 2016年8月2日13:59:46 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务中都有 ...

  2. Java 为值传递而不是引用传递

    ——reference Java is Pass by Value and Not Pass by Reference 其实这个问题是一个非常初级的问题,相关的概念初学者早已掌握,但是时间长了还是容易 ...

  3. 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~

    一.写在前面 相信各位看官对retrofit和rxjava已经耳熟能详了,最近一直在学习retrofit+rxjava的各种封装姿势,也结合自己的理解,一步一步的做起来. 骚年,如果你还没有掌握ret ...

  4. C语言动态走迷宫

    曾经用C语言做过的动态走迷宫程序,先分享代码如下: 代码如下: //头文件 #include<stdio.h> #include<windows.h>//Sleep(500)函 ...

  5. iOS微信里打开app,Universal Links

    这两天在弄分享,从第三方应用或者浏览器打开自己app的东西 传统的方式是通过URL Scheme的方式,但是iOS9以后又出了新的更完美的方式Universal Links. 传统的URL Schem ...

  6. Maven仓库搭建和配置

    maven在本地搭建仓库的实际需求maven在项目构建过程需要下载一些必要的软件包,这些默认的下载链接都是访问maven的远程中央仓库Central Repo.如果项目中的成员,每次第一次构建的时候都 ...

  7. java 字节流与字符流的区别

    字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作 ...

  8. [Hadoop in Action] 第5章 高阶MapReduce

    链接多个MapReduce作业 执行多个数据集的联结 生成Bloom filter   1.链接MapReduce作业   [顺序链接MapReduce作业]   mapreduce-1 | mapr ...

  9. ubuntu下配置vimtab空格数

    vim ~/.vimrc  没有就创建 set tabstop=4 //4就是4个空格

  10. JavaScript

    2015-08-01 16:20 JavaScript使用时需要注意的地方 1.引入JS的位置:最好的做法是把<script>的标签放到HTML文档的最后.</body>标签之 ...