cookie和session 会话技术

cookie和session 会话技术(重要) ##

1.会话:概念:先打开一个浏览器,浏览器的网页(资源,包含多次请求和响应),关闭整个浏览器,这个过程称为一次会话。

2.作用:通过cookie和session技术来保存用户相关的一些数据。

cookie的技术

理解cookie原理(理解)

1.cookie的原理:Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

2.看图

cookie对象的api

1.Cookie(String name, String value)        cookie的构造方法:   

2.String getName()                          获取cookie的名称

3.String getValue()                        获取cookie的值

4.void setValue(String newValue)            设置cookie的值

5.void addCookie(Cookie cookie)            在服务器端把cookie保存到客户端

6.Cookie[] getCookies()                    从客户端获取cookie的数组

显示用户上次访问的时间(和Cookie的原理) /** * 1.先判断是否是第一次访问?因为:第一次访问和第n次处理的业务是不同的。 * 2.如果是第一次访问:先输出一句欢迎,记录当前的时间,保存到cookie中,回写到浏览器端。 * 3.如果不是第一次访问,获取cookie中的值(就是你上次的访问的时间),把时间输出到页面上。记录当前的时间,保存到cookie中。回写到浏览器端。 */

* 代码

cookie的api(另外)

* 演示的效果:直接关闭浏览器,cookie没有了,再访问是最新的。

* 默认的cookie:默认保存浏览器端。

* 持久的cookie:通过setMaxAge()方法,把cookie保存到本地的磁盘上。

* 注意:需求:假如编写保存用户名的代码,默认保存7天。到第5天,不想保存了,清除cookie。

* 删除保存本地磁盘上的cookie。setMaxAge(0); 但是前提条件:如果在之前的代码中设置有效路径的话,你在设置setMaxAge(0)之前必须先设置有效路径一次。

1.void setMaxAge(int expiry)                设置cookie的有效时间(单位是秒)

2.void setPath(String uri)                  设置cookie的有效路径

    * 有效路径:访问WEB其他资源的时候是否携带cookie内容。

    * 不设置有效路径:说明我程序默认的有效路径。 /day11 

    * 由谁决定:LastTimeServlet访问路径是http://localhost/day11/lasttime

    * 访问WEB资源下的jsp/demo1.jsp的时候:http://localhost/day11/jsp/demo1.jsp。携带了cookie的内容。

    * 总结:只要是访问/day11下面的其他资源,默认携带cookie的内容。

    * 把LastTimeServlet的访问路径修改了 /servlet/lasttime

    * 默认的有效路径已经改变了 /day11/servlet

    * 访问WEB资源下的jsp/demo1.jsp的时候:http://localhost/day11/jsp/demo1.jsp。不携带了cookie的内容。

    * 不想让它有默认的有效路径,通过setPath来进行设置

3.void setDomain(String pattern)            设置cookie的有效域名

    * 设置域名  cookie.setDomain(".sina.com.cn");

    * 访问域名其他的内容是否携带cooikie

        * www.sina.com.cn

        * sports.sina.com.cn

        * xxxx.sina.com.cn

商品的浏览记录

/**

* 0.获取传过来id值

* 1.判断是否是第一次访问?(获取指定名称的cookie如果为null,说明是第一次访问)

*      * 如果是第一次访问,把商品的id保存到cookie中,回写cookie。

*      * 如果不是第一次访问

*          * 先获取cookie中的内容,进行判断(判断cookie中是否包含当前点击的商品)

*              * 如果cookie中已经包含了该商品,那么就不用处理了

*              * 如果不包含,在cookie中追加该商品  product=1  product=1,2

* 2.重定向商品的列表页面

* 3.需要在商品的列表页面中获取cookie的中内容,把内容显示到页面上。

*/

seesion的原理

* 看图。

session对象的api

* 获取session对象  HttpSession request.getSession() 第一次执行,在服务器的内部创建一个独享的session。如果是第二次执行,要是有钥匙的情况,不会创建新的session。 

* ServletContext:代表整个WEB应用。

* session又是一个域对象。一次会话的范围。(在一次会话的过程中,可以有多次请求和响应,只要是浏览器不关闭,一直有效)

* request域对象,一次请求。

* Object getAttribute(String name)                  获取域对象的属性值

* void setAttribute(String name, Object value)      设置域对象中的属性值

* void removeAttribute(String name)                删除域对象中的属性值

* String getId()                                    获取session  id的值

* void invalidate()                                手动的销毁(用户退出)

简单的购物车

* 购物车(商品的名称和数量) 对象  就使用Map cart 当前购物车了。有多次请求和响应,cart一直有,把cart存入到session中。

session的追踪(了解)

* session的追踪的技术。禁用了浏览器的cookie中。通过session回写的cookie的钥匙没有了。

* 服务器内部的session还是有的。如果你要是给我一把钥匙。

* 可以使用一些方法,在请求的后面拼接jsessionid 证明:session在服务器磁盘上,没有被销毁。

session域对象

* 域对象:用来传递数据。

* ServletContext:代表整个WEB应用。

* session又是一个域对象。一次会话的范围。(在一次会话的过程中,可以有多次请求和响应,只要是浏览器不关闭,一直有效)

* request域对象,一次请求。

session的创建和销毁

* session什么时候创建呢?第一次访问的时候,调用request.getSession(),因为没有session的id。

* session的销毁

    * 非正常原因关闭服务器

    * session默认销毁时间 30分钟    在tomcat/conf/web.xml 有一段配置



    * void invalidate()    手动的销毁session(用户推出)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容