SpringMVC框架在Controller中对于Session的处理

2023-11-16

Controller中的代码:

@Controller
@SessionAttributes({"User","Y"})		//此处定义此Controller中将要创建和使用哪些session中的对象名
public class UserController {
	@Resource
	private UserService userService;
	
	@RequestMapping("user_login")
	public String login(User user, ModelMap modelMap){		
		//modelMap自动与session对应,你在往modelmap中添加对应属性便是往session中添加属性(前提是你已经在@SessionAttributes注解中定义好)
		User userTemp = this.userService.findByName(user.getName());
		if((userTemp.getState() == 1) && (userTemp.getPassword().equals(user.getPassword())){
			modelMap.addAttribute("User", userTemp);		//成功将userTemp存入session中
			modelMap.addAttribute("Y",1);					//成功将1存入session中
			return "/user/index";
		}else {
			return "index";
		}
	
	@RequestMapping("user_logout")
	public String logout(@ModelAttribute("User") User user, SessionStatus sessionStatus){	
		//@ModelAttribute("User")相当于将session中名为"User"的对象注入user对象中
		//sessionStatus中的setComplete方法可以将session中的内容全部清空
		sessionStatus.setComplete();
		return "index";
	}
}
User类的代码:

public class User {
    private Integer id;

    private String name;

    private String password;

    private String email;

    private String activecode;

    private Integer state;

  //省略set和get方法
}
总结:

如果用@SessionAttributes注解的话,博主暂时没有找出好方法可以单独删除session中的一个对象,即便是在action中传入参数HttpSession依然是只能获得session中的内容,无法删除,如果大家找到好办法能解决这个问题,还望能在评论中留下解决方法或者联系方式,博主将感激不尽!!


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringMVC框架在Controller中对于Session的处理 的相关文章

随机推荐

  • Asp.Net&.Net Core 使用 SonarQube 踩坑记 (使用 MSBuild扫描器篇)

    使用dotnet 需要 搭建 ner core的运行环境 1 首先安装配置java运行环境 且javaJDK 必须是11以上 jdk版本必须大于11 等于11不行 2 java和java JDK后 记得配置java 和jdk建立连接和配置
  • formdata上传文件_关于multipart/formdata上传文件

    最近在做一个文件上传的开放接口 用到Content Type multipart form data这种请求类型 特地做了一些研究和记录 在最初的 http协议中 并没有上传文件方面的功能 RFC1867为 http协议添加了这个能力 常见
  • 深度学习笔试、面试题 二

    1 梯度爆炸问题是指在训练深度神经网络的时候 梯度变得过大而损失函数变为无穷 在RNN中 下面哪种方法可以较好地处理梯度爆炸问题 A 用改良的网络结构比如LSTM和GRUs B 梯度裁剪 C Dropout D 所有方法都不行 正确答案是
  • Linux-写USB键盘驱动(详解)

    1 首先我们通过上节的代码中修改 来打印下键盘驱动的数据到底是怎样的 先来回忆下 我们之前写的鼠标驱动的id table是这样 所以我们要修改id table 使这个驱动为键盘的驱动 如下图所示 然后修改中断函数 通过printk 打印数据
  • 算法与数据结构(七):优先队列

    博主会对算法与数据结构会不断进行更新 敬请期待 如有什么建议 欢迎联系 我们知道队列具有先进先出的特性 栈具有先进后出的特性 那么有没有一种数据结构可以根据自己的需求 以一定的规则从队列中弹出呢 优先队列就是实现这种目标的数据结构 一般情况
  • shell随机读取文件的一行

    bin bash a cat files txt wc l for i 0 i lt 5 i do b RANDOM a b b 1 sed n b p files txt done
  • 微信公众号内嵌H5网页授权步骤

    主要注意点就是回调地址 我是用vue框架开发的 所以单独做了个页面去授权回调 redirectToAuthPage const callbackURL encodeURIComponent https ad jfpays com wcpn
  • Ubuntu 22.04安装Visual Studio Code(VS Code)

    Ubuntu 22 04安装Visual Studio Code 一 下载 打开浏览器 访问VS Code的官方网址 https code visualstudio com 在首页的左侧有两个蓝色的按钮 点击左边的按钮 下载 deb格式的安
  • 全链路压测的“谜”

    前言 对于性能测试来说 全链路压测肯定跑不了的 在昨天上午的 GIAC全球互联网架构大会 上 网易云就进行了全链路压测的议题 对于有性能测试的公司来说 面试往往会被问到什么是全链路压测 如何有效的开展全链路压测等等 我今天也只是高屋建瓴 站
  • unity地形之splatalpha研究 地形贴图导出更换与绘制

    unity中的地图贴图的绘制常常使用的是paint texture里面的 但是这个方式往往费时很多 却只能做出很少的效果 这里要介绍的就是通过外部绘制splatalpha 来替换 达到unity中地形更强的效果 使用软件基本有worldma
  • 【yolo】实现一键yolov5数据处理(下)(划分数据集和验证集+构建yolo数据集结构+生成yaml文件)

    事先准备 所有训练所需的图像存于一个目录 所有训练所需的标签存于一个目录 图像文件与标签文件都统一的格式 图像名与标签名一一对应 两种模式可以选择 将文件按照划分输出直接输出到train val目录 或者 输出train txt val t
  • Python turtle 画圣诞树

    马上就要圣诞街了 作为一名程序猿的我们应该用代码表达一下程序猿的温柔呐 所以 改写了一段Python画圣诞树的代码 给你们的朋友们画一颗代码圣诞树吧 圣诞树一 import turtle as t as就是取个别名 后续调用的t都是turt
  • 配置阿里云yum源并启动nginx服务

    1 查看yum源仓库 ls etc yum repos d 2 查看CentOs Base repo文件 3 配置yum源 https opsx alibaba com mirror 找到这个网站 然后找到centos7 执行下载阿里云yu
  • 剑指Offer 53-Ⅱ.0~n-1中缺失的数字

    LeetCode 剑指Offer 53 o n 1中缺失的数字 一个长度为n 1的递增排序数组中的所有数字都是唯一的 并且每个数字都在范围0 n 1之内 在范围0 n 1内的n个数字中有且只有一个数字不在该数组中 请找出这个数字 示例 1
  • GDB调试子进程

    http blog sina com cn s blog 4e415c0b0100lum0 html 1 set follow fork mode
  • Ajax请求url的中文乱码问题

    Ajax请求路径中如果有中文出现在参数值中时 在IE浏览器中出现过乱码的情况 遇到这种问题那肯定就是编码的问题 这时我们就必须采用编码后再传参了 在后台接收时就必须进行解码操作 在js中进行编码操作有几个常用的方法escape encode
  • OpenHarmony在Amlogic A311D芯片平台的快速开发上手指南

    OpenHarmony是由开放原子开源基金会 OpenAtom Foundation 孵化及运营的开源项目 目标是面向全场景 全连接 全智能时代 搭建一个智能终端设备操作系统的框架和平台 促进万物互联产业的繁荣发展 目前最新发布的版本为Op
  • DOCKER UBUNTU 配置

    TensorRT 8 2 1 8 安装笔记 超全超详细 Docker 快速搭建 TensorRT 环境 知乎 1 DOCKER 深度学习环境基本要素 1 Docker部署深度学习服务器 CUDA cudnn ssh 铜锣烧阿南Anan的博客
  • Linux中的多线程剖析

    目录 1 前言 2 多线程理解 2 1 线程 2 2 通俗了解进程和线程 2 2 1 进程是资源分配的基本单位 2 2 2 Linux中的线程是一种轻量化进程 2 3 进程和线程详解 2 3 1 创建一个线程 pthread create
  • SpringMVC框架在Controller中对于Session的处理

    Controller中的代码 Controller SessionAttributes User Y 此处定义此Controller中将要创建和使用哪些session中的对象名 public class UserController Res