SpringMVC(2)——@CookieValue@SesssionAttributes

作者:神秘网友 发布时间:2020-08-02 15:25:57

SpringMVC(2)——@CookieValue@SesssionAttributes

SpringMVC(2)——@CookieValue&@SesssionAttributes


背景: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






































SpringMVC(2)——@CookieValue@SesssionAttributes相关教程

  1. SpringMVC 的工作原理/执行流程
  2. Servlet.init() for servlet [springmvc] threw exception
  3. MyBatisMyBatis+SpringMVC+EasyUI整合分页
  4. springmvc 配置swagger ui 生成接口文档
  5. MyEclipse Spring 学习总结三 SpringMVC
  6. SSM框架学习笔记8—SpringMVC背景
  7. SpringMVC请求流程
  8. JAVA Web 项目开发笔记 ----- springMVC mavenreactJs