什么叫做会话 ?

用户从打开一个浏览器开始,浏览器网站,到关闭浏览器的整个过程叫做一次会话!

  每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据。

  例如:用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,需要使用会话!

Cookie是客户端技术

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

Cookie相对于session来说不是特别安全,而且Cookie还有大小和个数的限制!

一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。

Java 中的Cookie

  

//构造方法:
    Cookie(String name,String value);   //方法:
  String getName(); 用于获得Cookie的名称   String getValue(); 用于获得Cookie的值   void setPath(String path); 设置cookie的有效路径 没有设置会给一默认的路径:用途-访问该路径下的资源时会带着cookie过来    String getPath();    void setMaxAge(int mAge); 用于设置cookie的有效时间   int getMaxAge();   void setDomain(String domain);用于设置cookie的有效域名:用途-访问该域名下的资源时会带着cookie过来 setDomain(".baidu.com");
  String getDomain();

Cookie的分类 

会话级别的Cookie:浏览器关闭cookie就销毁,此cookie存储在浏览器的内存中

持久的cookie:此cookie会写到本地的文件中,关闭浏览器不会销毁

  此cookie可以在同一个浏览器的不同窗口之间共享 ,前提需要设置有效时间 setMaxAge(int age);  删除cookie setMaxAge(0);

//创建一个cookie
//Cookie cookie = new Cookie(String name,String value);
//存带有中文的cookie(取出的时候不要忘记解码)
//cookie不支持中文,需要编码 在页面用js取时用decodeURI();
Cookie cookie = new Cookie("remember", URLEncoder.encode(
username, "utf-8"));
cookie.setMaxAge(24 * 60 * 60);
cookie.setPath("/");
response.addCookie(cookie); //删除某个cookie (只要覆盖一个把存活时间改成0或者-1)
Cookie cookie = new Cookie("remember", URLEncoder.encode(
username, "utf-8"));
cookie.setMaxAge(0);
cookie.setPath("/");
response.addCookie(cookie);
/*注意:cookie.setMaxAge(0);参数也可以是-1,都可以删除cookie,区别.写0时立即删除,-1代表关闭浏览器之后才能删除*/

JavaWeb之cookie的更多相关文章

  1. JavaWeb 8 Cookie

    JavaWeb 8 Cookie 2. 会话管理入门            2.1 生活中会话            我: 小张,你会跳小苹果码?            小张: 会,怎么了?      ...

  2. JavaWeb利用cookie记住账号

    JavaWeb利用cookie记住账号. 首先,来看看界面什么样子. 记住账号最普遍的做法,就是在点击登录时,将账号保存到cookie中. 材料准备 <script src="${ct ...

  3. JavaWeb学习----Cookie实现记住密码的功能

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. javaWeb 使用cookie显示商品浏览记录

    package de.bvb.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.Date ...

  5. javaWEB与cookie

    Cookie1. Http协议与Cookie(了解)  * Cookie是HTTP协议制定的!先由服务器保存Cookie到浏览器,再下次浏览器请求服务器时把上一次请求得到Cookie再归还给服务器  ...

  6. JavaWeb中Cookie会话管理,理解Http无状态处理机制

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512995108961387015/ 1.<Servlet简单实现开发部署过程> 2.<Serv ...

  7. JavaWeb基础: Cookie

    Cookie相关类: javax.servlet.http.Cookie 用于创建Cookie response 里通过addCookie方法添加Cookie到响应头 request里通过getCoo ...

  8. javaWeb 使用cookie显示上次访问网站时间

    package de.bvb.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.Date ...

  9. javaweb之Cookie篇

    Cookie是在浏览器访问某个Web资源时,由Web服务器在Http响应消息头中通过Set-Cookie字段发送给浏览器的一组数据. 一个Cookie只能表示一个信息对,这个信息对有一个信息名(Nam ...

  10. JavaWeb之Cookie和Session的区别

    Cookie和Session的区别 一.cookie机制和session机制的区别 ********************************************************** ...

随机推荐

  1. margin:0 auto;不居中?

    1.没有设置宽度 <div style="margin:0 auto;"></div> 看看上面的代码,根本没有设置DIV的宽度,如何根据宽度自适应呢?新手 ...

  2. !important的理解

    !important用于将当前css代码优先级提升为最高,这个优先级比行内样式更高 但是!important在ie6这种垃圾浏览器下会出现小bug .testClass{ color:blue !im ...

  3. Javascript事件绑定及深入

    由于开学后的编程实验课,接触了海量字符换搜索的实验,所以好几天没有学习JS课程了,今天继续学习事件绑定. 传统事件绑定存在一些问题,如:同名事件函数都执行,第二个函数会覆盖第一个. 下面我们以事件切换 ...

  4. hibernate系列笔记(1)---Hibernate增删改查

    Hibernate增删改查 1.首先我们要知道什么是Hibernate Hibernate是一个轻量级的ORMapping对象.主要用来实现Java和数据库表之间的映射,除此之外还提供数据查询和数据获 ...

  5. .Net程序员学用Oracle系列(19):我知道的导出和导入

    1.传统的导出/导入工具 1.1.EXP 命令详解 1.2.IMP 命令详解 1.3.EXP/IMP 使用技巧 2.新的导出/导入工具 2.1.EXPDP/IMPDP 参数说明 2.2.EXPDP/I ...

  6. Prerender.io - 预渲染架构,提高AngularJS SEO

    近些年来,越来越多的JavaScript框架(即AngularJS,BackboneJS,ReactJS)变得越来越流行.许多公司和开发人员使用这些JavaScript框架开发应用程序.这些框架有很多 ...

  7. Java I/O之NIO概念理解

    JDK1.4的java.nio.*包引入了新的Java I/O新类库,其目的在于提高速度.实际上,旧的I/O包已经使用nio重新实现过,以便充分利用这种速度提高,因此即使我们不显式地用nio编码,也能 ...

  8. [LeetCode]Integer Break(Dp或胡搞或推公式)

    343. Integer Break Given a positive integer n, break it into the sum of at least two positive intege ...

  9. 通讯录--(适配iOS7/8/9)

    导入库#import <AddressBook/AddressBook.h> #import <AddressBookUI/AddressBookUI.h> #pragma m ...

  10. 去掉标题栏的方法(使用requestWindowFeature(Window.FEATURE_NO_TITLE);为什么失效)

    使用requestWindowFeature(Window.FEATURE_NO_TITLE)隐藏标题栏失效的原因,可能是activity继承的是AppCompatActivity.下面详细介绍了使用 ...