什么叫做会话 ?

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

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

  例如:用户点击超链接通过一个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. 2732: [HNOI2012]射箭( 半平面交 )

    很久没写题解了= =,来水一发吧= = 首先这道题很明显就是求y=ax^2+bx的是否有值取,每一个式子都代表着两个半平面,然后直接半平面交就行了 借鉴了hzwer的代码,还是特别简洁的说 CODE: ...

  2. flask扩展模块flask-sqlachemy 的使用---mysql数据库

    该篇博客配置环境为:python版本3.5,flask2.0,python3中已经不再支持MySQLdb模块,所有这里我用了pymysql,所有使用前应该 安装pymysql:pip install ...

  3. jQuery源码学习:Sizzle

    本文所有讨论均基于jQuery版本3.1.1,官网http://jquery.com/. 一 简介 Sizzle是用javascript实现的CSS selector engine,官网见https: ...

  4. SimpleDateFormat的线程安全问题与解决方案

    SimpleDateFormat 是 Java 中一个常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题. 因为 DateFormat 和 Simple ...

  5. php审核操作

    注册页面zhuce.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...

  6. Redis从入门到精通

    什么是Redis? Redis是非关系型数据库,是一个高性能的key-value数据库,它是开源的,更是免费的. Redis能做什么? 存储数据 Redis的优点有哪些? 1.它支持存储丰富的数据类型 ...

  7. 【2-26】string/math/datetime类的定义及其应用

    一string类 (1)字符串.Length    Length作用于求字符串的长度,返回一个int值 (2)字符串.TrimStart();  TrimStart():可删除前空格,返回一个stri ...

  8. 3389: [Usaco2004 Dec]Cleaning Shifts安排值班

    3389: [Usaco2004 Dec]Cleaning Shifts安排值班 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 102  Solved: ...

  9. requireJS的配置心得

    1.html页面中如果同时存在data-main和require()和配置(config中的baseUrl),那么定义根路径 baseUrl > data-main > index.htm ...

  10. 使用git克隆指定分支的代码

    今天想学习一下开源中国Android客户端的app源码,源码的Git地址:http://git.oschina.net/oschina/android-app,如下图所示: 由于Master主分支上没 ...