背景:SpringMVC中的注解挺多的,之前学习过cookie和session的区别和联系,在SpringMVC中遇到了这两个,自然而然的就把他们放在一块儿学习了,但是他们两个好像没有多大关系,下面就介绍一下 @CookieValue 注解和SesssionAttributes注解的相关内容~~~


一、cookie 和session 的区别(和SpringMVC中的内容没有关系,就是普及一下)


1、cookie数据存放在客户的浏览器上,session数据放在服务器上。


2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session。


3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE。


4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。


二、@CookieValue 


1、作用:

   绑定请求中的Cookie值


2、例子:

   如果想要获得请求中的JSESSIONID 

SpringMVC(2)——@CookieValue&@SesssionAttributes


SpringMVCTest.Java

SpringMVC(2)——@CookieValue&@SesssionAttributes


index.jsp

SpringMVC(2)——@CookieValue&@SesssionAttributes

效果:

SpringMVC(2)——@CookieValue&@SesssionAttributes


三、@SesssionAttributes


1、作用

    如果希望在多个请求之间公用某个模型属性数据,则可以在控制器上标注一个@SesssionAttributes,SpringMVC将在模型中对应的属性暂存到HttpSession中。


2、使用范围

    除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中。

SpringMVC(2)——@CookieValue&@SesssionAttributes

    只能放在类的上面,而不能修饰方法。


3、例子

User.java(添加一个带参数的构造器)

SpringMVC(2)——@CookieValue&@SesssionAttributes


SpringMVCTest.java

SpringMVC(2)——@CookieValue&@SesssionAttributes



index.jsp

SpringMVC(2)——@CookieValue&@SesssionAttributes

Success.jsp

SpringMVC(2)——@CookieValue&@SesssionAttributes


效果(没有放到session中):

SpringMVC(2)——@CookieValue&@SesssionAttributes

解决方案:

SpringMVC(2)——@CookieValue&@SesssionAttributes


效果:

SpringMVC(2)——@CookieValue&@SesssionAttributes






































相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-26
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-18
  • 2021-07-28
  • 2021-07-02
  • 2021-10-08
  • 2021-08-25
  • 2021-05-26
  • 2021-09-12
相关资源
相似解决方案