Spring学习笔记----SpringMVC操作Session与Cookie

5 篇文章 0 订阅
5 篇文章 0 订阅

一、Cookie

cookie相关说明:
    1、cookie由服务器端创建,然后添加到HttpServletResponse中发送给客户端(浏览器)。
    2、可以添加多个cookie键值对。

    3、cookie由键值名和键值组成。“

            相同domain和path”中的键值名不能重复,添加键值名重名的键值对会覆盖上一个同名的键值对。

    4、添加cookie时要指定cookie所在域(setPath),指定存在时长(setMaxAge)。
    5、服务端创建好cookie后提交给客户端,之后浏览器的每次请求(HttpServletRequest)里都会携带“cookie数组”。

    6、springmvc有两种方式获取:

        (1)在控制器中通过注解@CookieValue(键值名),获取指定某个cookie。

        (2)通过HttpServletRequest中的getcookies方法获取cookie数组,然后迭代里面的每一个cookie键值对。

二、Session

@SessionAttribute作用于处理器类上,用于在多个请求之间传递参数,类似于会话的属性,但不完全一样,一般来说@SessionAttribute设置的参数只用于暂时的传递,而不是长期的保存,长期保存的数据还是要放到会话中。

通过@SessionAttribute注解设置的参数有3类用法:

    (1)在视图中通过request.getAttribute或session.getAttribute获取

    (2)在后面请求返回的视图中通过session.getAttribute或者从model中获取

    (3)自动将参数设置到后面请求所对应处理器的Model类型参数或者有@ModelAttribute注释的参数里面。

将一个参数设置到SessionAttribute中需要满足两个条件:

    (1)在@SessionAttribute注解中设置了参数的名字或者类型

    (2)在处理器中将参数设置到了model中。

@SessionAttribute用户后可以调用SessionStatus.setComplete来清除,这个方法只是清除SessionAttribute里的参数,而不会应用Session中的参数。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值