许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Spring框架中Session与ModelAndView的区别详解

Spring框架中Session与ModelAndView的区别详解

阅读数 1
点赞 0
article_banner

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

1 问题描述

在写后台的过程中,往往会遇到单点登录等问题,单点登录就意味着前端的一次请求参数我们会重复使用。这里我们就可以用到Session这个方法。然而ModelAndView方法是将数据处在一个model中,让前端直接获取,然而我刚开始是将这两种方法用混淆了的。下面来谈谈我的理解。

2 问题分析

在后台的接口中,单点登录指的就是前端只传入一次参数,但是我们需要在多个接口中使用这个参数,比如说用户登录一次之后,那么用户的信息就在整个系统中存在,界面交换之后,用户不需要再次传入用户信息,我们要重复利用登录时的用户信息。而后台给前端的数据的时候,也需要将数据存起来,让用户直接使用。

3 解决方案

面对这样的问题,我们就会想到,能否使用一个空间来存放这些信息呢?我们把需要使用的数据存入一个空间中,需要的时候就直接在这个空间中找我们需要的信息就可以了。这里就有了Session和ModelAndView两种方法。首先Session是将我们需要的信息用setAttribute方法存入Session空间中,使用方法是存入信息以及这个信息的名字。使用的时候就直接用getAttribute方法,给一个信息名字的参数就可以使用我们存好的信息了。这是在后台重复使用前端传入的请求参数的时候。

当我们要给前端数据时也可以用同样的方式,就是将数据存入一个空间中,然后前端直接获取这个空间的信息就可以了。但是用到的空间不同,这里我们用的就是ModelAndView,这是两个空间,使用的时候也很容易弄混淆。他们有相似之处就是都是利用一个空间来存放数据,需要时直接在这个空间中查找便可。不同之处在于Session是将信息分类存放,每条信息有他的名字,我们可以获取我们需要的数据,便于后台使用相同参数的时候,而ModelAndView则是将前端Get请求到的数据放入一个model空间中,我的理解就是这个model空间中的数据是没有Session空间的数据那么容易分类,我们只有将全部信息存入model中,也就是说,这两个空间的用途是不一样的。下面来看一些例子:

Session的用法:

640?wx_fmt=png

640?wx_fmt=png


ModelAndView的用法:

640?wx_fmt=png

4 总结

Session中的信息不仅可以在后台各个接口中重复使用,也可以在前端传参的时候重复使用Session中的信息来传递参数,ModelAndView中的信息就是为前端需要的数据提供一个存放空间,不同的时候我们需要用到这两个不同的空间,但是也要把他们区分开来。这样更有利于我们的开发。总结的不是很到位,但是也希望可以对你有一点小小的帮助。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空