cookie与Session

概述

用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。

保持各个客户端自己的数据,每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据

cookie

1、创建cookie

Cookie cookie = Cookie(String name, String value)
cookie只能存储非中文字符串

2、向客户端发送cookie

response.addCookie(cookie名称)

cookie会以响应头方式发送给客户端

3、携带cookie

请求头当中就能够看到cookie信息,访问服务器的任何资源,一般情况下都会把cookie带去过

4、Cookie默认存储时间

如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭cookie信息销毁

设置Cookie在客户端的存储时间,cookie.setMaxAge(int seconds);,设置的时间为秒,如果设置持久化时间,cookie信息会被持久化到浏览器的磁盘文件里,过期会自动删除

5、设置Cookie的携带路径

默认情况下会在访问创建cookie的web资源相同的路径都携带cookie信息

http://localhost:9991/demo/indexServlet 在demo/indexServlet下创建cookie
http://localhost:9991/demo/index.jsp 在demo下的index.jsp访问时会携带cookie
http://localhost:9991/test/index.jsp 在demo下 不会携带cookie

设置携带路径cookie.setPath(String path);

cookie.setPath("/demo/index")//只有访问index才携带cookie信息
cookie.setPath("/demo")//只有访问指定工程都会携带cookie
cookie.setPath("/")//访问服务器下部署的所有工程都会携带cookie

6、删除Cookie

使用同名同路径的持久化时间为0的cookie进行覆盖即可

7、服务器如何获取客户端携带的cookie

 //获取所有的cookie
        Cookie[] cookies = request.getCookies();
        if(cookies != null){
            //遍历所有的cookie
            for (Cookie cookie:cookies){
                String name = cookie.getName();
                //判断名称是否自己存储的
                if(name.equals("myCookie")){
                    String mycookie = cookie.getValue();
                }
            }
        }

8、应用案列

记住我

上次登录时间

第一次访问,告诉用户是第一次访问,获取当前的时间,并把它写到cookie当中,响应给浏览器,用户下次访问时,获取用户携带的cookie,把日期在浏览器当中显示,记录最新的cookie

session

1、概述

Session技术是将数据存储在服务器端的技术,会为每个客户端都创建一块内存空间存储客户的数据,客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内存空间Session需要借助于Cookie存储客户的唯一性标识SESSIONID

2、获取Session对象

HttpSession session = request.getSession();,获得专属于当前会话的Session对象,如果服务器端没有该会话的Session对象,会创建一个新的Session返回,如果已经有了属于该会话的Session直接将已有的Session返回,本质就是根据SESSIONID判断该客户端是否在服务器上已经存在session了

3、向session中存取对象

Session对象和servletContext域,request域一样是一个域对象

void setAttribute(String var1, Object var2);
Object getAttribute(String var1);
void removeAttribute(String var1);

4、session的生命周期

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序三两行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值