SpringMVC域对象共享数据
目录
一.向 request 域对象共享数据
1.1使用ServletAPI向request域对象共享数据
1.2使用ModelAndView向request域对象共享数据
1.3使用Model向request域对象共享数据
1.4使用map向request域对象共享数据
1.5使用ModelMap向request域对象共享数据
二.Model、ModelMap、Map的关系
三.向session域共享数据
四.向application域共享数据
一.向 request 域对象共享数据
1.1使用ServletAPI向request域对象共享数据
@RequestMapping("/testServletAPI")
public String testServletAPI(HttpServletRequest request){request.setAttribute("testScope", "hello,servletAPI");return "success";
}
1.2使用ModelAndView向request域对象共享数据
ModelAndView对象在 SpringMVC 中是一个用于封装视图和模型数据的重要对象。我们可以在控制器方法中创建一个ModelAndView对象,并且通过这个对象向 request 域对象共享数据。
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(){/*** ModelAndView有Model和View的功能* Model主要用于向请求域共享数据* View主要用于设置视图,实现页面跳转*/ModelAndView mav = new ModelAndView();//向请求域共享数据mav.addObject("testScope", "hello,ModelAndView");//设置视图,实现页面跳转mav.setViewName("success");return mav;
}
1.3使用Model向request域对象共享数据
在 SpringMVC 的控制器方法中,我们可以接收一个Model对象作为参数,并且通过这个对象向 request 域对象共享数据。
@RequestMapping("/testModel")
public String testModel(Model model){model.addAttribute("testScope", "hello,Model");return "success";
}
1.4使用map向request域对象共享数据
我们也可以在控制器方法中接收一个Map对象作为参数,并且通过这个对象向 request 域对象共享数据。
@RequestMapping("/testMap")
public String testMap(Map<String, Object> map){map.put("testScope", "hello,Map");return "success";
}
1.5使用ModelMap向request域对象共享数据
ModelMap是一个扩展了LinkedHashMap的类,它可以用于在控制器方法中向 request 域对象共享数据。
@RequestMapping("/testModelMap")
public String testModelMap(ModelMap modelMap){modelMap.addAttribute("testScope", "hello,ModelMap");return "success";
}
二.Model、ModelMap、Map的关系
Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的
(1)Model是一个接口,它定义了一组用于向视图传递数据的方法。这个接口就像是一个数据传递的规范,为不同的实现提供了统一的标准。
(2)ModelMap是一个实现了Model接口的类,它扩展了LinkedHashMap,可以用于在控制器方法中向 request 域对象共享数据。这个类就像是一个数据传递的具体实现,为数据的共享提供了实际的操作方法。
(3)Map是 Java 中的一个接口,它定义了一组用于存储键值对的方法。在 SpringMVC 中,我们可以使用Map对象作为参数来接收模型数据,并将其传递给视图。这个接口就像是一个数据存储的通用容器,为不同的数据类型提供了统一的存储方式。
public interface Model{}
public class ModelMap extends LinkedHashMap<String, Object> {}
public class ExtendedModelMap extends ModelMap implements Model {}
public class BindingAwareModelMap extends ExtendedModelMap {}
三.向session域共享数据
在 SpringMVC 中,我们可以通过注入HttpSession对象来向 session 域对象共享数据。
@RequestMapping("/testSession")
public String testSession(HttpSession session){session.setAttribute("testSessionScope", "hello,session");return "success";
}
四.向application域共享数据
通过session对象获取application
@RequestMapping("/testApplication")
public String testApplication(HttpSession session){ServletContext application = session.getServletContext();application.setAttribute("testApplicationScope", "hello,application");return "success";
}
相关文章:
SpringMVC域对象共享数据
目录 一.向 request 域对象共享数据 1.1使用ServletAPI向request域对象共享数据 1.2使用ModelAndView向request域对象共享数据 1.3使用Model向request域对象共享数据 1.4使用map向request域对象共享数据 1.5使用ModelMap向request域对象共享数据 二.Model、ModelMap、Ma…...
每日论文23-24ESSERC 6.4-16.1Ghz混合并联-串联谐振器
《A 6.4-to-16.1GHz Hybrid Parallel-Series Resonator Mode-Switching Oscillator with 206.6dBc/Hz FoMT at 1MHz Offset in 40nm CMOS》 24ESSERC 首先这篇文章有个地方我其实没太明白,它在title和行文的时候都写的是“ hybrid parallel-series resonator mode-…...
【软考】系统架构设计师-信息安全技术基础
信息安全核心知识点 信息安全5要素:机密性、完整性、可用性、可控性、审查性 信息安全范围:设备安全、数据安全、内容安全、行为安全 网络安全 网络安全的隐患体现在:物理安全性、软件安全漏洞、不兼容使用安全漏洞、选择合适的安全哲理 …...
kali搭建pikachu靶场
前言: 总所周知搭个网站需要有apachemysqlphp,Apache是一个开源的Web服务器软件, MySQL是一种关系型数据库管理系统(数据库),PHP是一种在服务器上执行的脚本语言 文章内容来自:【黑帽编程与攻…...
注解用于从 HTTP 请求中提取数据
在 Spring 框架中,PathVariable、RequestParam 和 RequestBody 等注解用于从 HTTP 请求中提取数据。具体来说: PathVariable:用于从 URL 路径中提取变量值。例如,在路径 /users/{id} 中,{id} 是一个路径变量。Request…...
(Linux)搭建静态网站——基于http/https协议的静态网站
简单了解nginx配置文件 1.下载并开启nginx服务 下载 [rootlocalhost ~]# dnf install nginx -y开启 [rootlocalhost ~]# systemctl restart nginx 1.(1)搭建静态网站——基于http协议的静态网站 实验1:搭建一个web服务器,访问该服务器时显示“hello w…...
【机器学习chp3】判别式分类器:线性判别函数、线性分类器、广义线性分类器、分段线性分类器
前言: 本文遗留问题:(1)对最小平方误差分类器的理解不清晰.(2)分段线性判别函数的局部训练法理解不清晰。 推荐文章1,其中有关于感知机的分析 【王木头从感知机到神经网络】-CSDN博客 推荐文…...
【学习】【HTML】HTML、XML、XHTML
HTML 什么是 HTML? HTML (HyperText Markup Language) 是一种用于创建和展示网页的标准标记语言。它由一系列的元素组成,这些元素通过标签的形式来告诉浏览器如何显示内容。 HTML 的基本结构是什么? <!DOCTYPE html> <html> …...
ARM中ZI-data段和RW-data段
ARM中ZI-data段和RW-data段 1、只定义全局变量,不使用,不占用内存空间2、 定义并初始化全局变量为0 占用ZI-Data区域3、定义并初始化全局变量非0 占用RW-Data区域4、增加的是一个int8的数据为什么,size增加不是15、定义的全局变量为0…...
关联度分析、灰色预测GM(1,1)、GM(1,1)残差模型——基于Python实现
关联度分析 import numpy as np import pandas as pd #关联度分析 #参考序列 Y_0[170,174,197,216.4,235.8] #被比较序列 Y_1[195.4,189.9,187.2,205,222.7] Y_2[308,310,295,346,367]#初始化序列 X_0np.array(Y_0)/Y_0[0] X_1np.array(Y_1)/Y_1[0] X_2np.array(Y_2)/Y_2[0]#计…...
linux常用命令(网络相关)
目录 1. ping - 检查网络连通性 参数 示例 2. ifconfig - 配置网络接口 参数 示例 3. ip - 显示和操作路由、网络设备、接口等 参数 示例 4. netstat - 显示网络连接、路由表、接口统计等信息 参数 示例 5. ss - 更快的netstat替代品 参数 示例 6. nslookup - …...
【uni-app多端】修复stmopjs下plus-websocket无心跳的问题
从这篇文章接着向下看: uniapp plus-websocket 和stompjs连接教程 安卓ios手机端有效 - 简书 按照文章的方式,能够实现APP下stmopjs长连接。但是有一个问题,就是会频繁输出 res-创建连接-1- 跟踪连接,会发现连接都会在大约40s后…...
VScode学习前端-01
小问题合集: vscode按!有时候没反应,有时候出来,是因为------>必须在英文状态下输入! 把鼠标放在函数、变量等上面,会自动弹出提示,但挡住视线,有点不习惯。 打开file->pre…...
Java-05 深入浅出 MyBatis - 配置深入 动态 SQL 参数、循环、片段
点一下关注吧!!!非常感谢!!持续更新!!! 大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了: MyBatisÿ…...
突破自动驾驶瓶颈!KoMA:多智能体与大模型的完美融合
0.简介 本推文主要介绍了由来自北京航空航天大学的姜克谋、蔡轩和崔智勇教授等共同提出的一种名为KoMA的知识驱动的多智能体框架。论文《KoMA: Knowledge-driven Multi-agent Framework for Autonomous Driving with Large Language Models》提出了KoMA框架,通过结…...
YOLO入门教程(三)——训练自己YOLO11实例分割模型并预测【含教程源码+一键分类数据集 + 故障排查】
目录 引言前期准备Step0 环境部署1.安装OpenCV2.安装Pytorch3.安装Ultralytics Step1 打标训练Step2 格式转换Step3 整理训练集Step4 训练数据集4.1创建yaml文件4.2训练4.3预测4.4故障排查4.4.1OpenCV版本故障,把OpenCV版本升级到4.0以上4.4.2NumPy版本故障…...
【加入默语老师的私域】C#面试题
什么是依赖注入,如何实现? 依赖注入是一种设计模式。我们不是直接在另一个类(依赖类)中创建一个类的对象,而是将对象作为参数传递给依赖类的构造函数。它有助于编写松散耦合的代码,并有助于使代码更加模块…...
称重传感器指示器行业全面且深入的分析
称重传感器指示器是一种用于显示和解释称重传感器输出信号的设备,用于测量力、重量或压力。称重传感器是将物理力(如重量)转换为电信号的传感器,称重传感器指示器将该电信号转换为可读格式,通常以磅、公斤或牛顿等单位…...
NAT网络地址转换——Easy IP
NAT网络地址转换 Tip: EasylP没有地址池的概念,使用接口地址作为NAT转换的公有地址。EasylP适用于不具备固定公网IP地址的场景:如通过DHCP, PPPOE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。 本次实验模拟nat协议配置 AR1配置如下&…...
【Visual Studio系列教程】如何在 VS 上编程?
上一篇博客中,我们介绍了《什么是 Visual Studio?》。本文,我们来看第2篇《如何在 VS 上编程?》。阅读本文大约10 分钟。我们会向文件中添加代码,了解 Visual Studio 编写、导航和了解代码的简便方法。 本文假定&…...
基于OpenStack的毕业设计:从零搭建私有云平台的入门实战与避坑指南
最近在帮学弟学妹们看毕业设计,发现不少同学对云计算方向很感兴趣,尤其是想用OpenStack做个私有云平台。但一上手就懵了,组件多、文档杂,环境动不动就崩,最后时间都花在折腾部署上了。我自己当初也踩过不少坑ÿ…...
VoxCPM-1.5语音合成作品集:高清自然语音生成效果展示
VoxCPM-1.5语音合成作品集:高清自然语音生成效果展示 1. 开篇:当AI学会"说话" 想象一下,你正在制作一部有声书,需要一位声音温暖、吐字清晰的主播。传统方式可能需要花费数千元聘请专业配音员,录制数小时音…...
【免费下载】 OpenCV/CVAT 图像标注工具安装指南
CVAT架构深度解析:从核心模块到扩展组件 CVAT(Computer Vision Annotation Tool)作为业界领先的机器学习数据引擎,采用微服务架构模式,将复杂功能模块分解为多个独立组件。本文深度解析CVAT的整体架构设计理念、核心模…...
零基础部署MedGemma 1.5医疗助手:5分钟搭建你的本地AI医生
零基础部署MedGemma 1.5医疗助手:5分钟搭建你的本地AI医生 1. 为什么选择MedGemma 1.5医疗助手 在医疗信息查询领域,我们常常面临两个困境:要么依赖不专业的网络搜索,要么需要花费大量时间预约专业医生。MedGemma 1.5医疗助手提…...
探索燃料电池PEMFC非等温两相流模型:流道液态水膜态水的奥秘
燃料电池PEMFC非等温两相流模型,考虑流道液态水膜态水。在燃料电池的世界里,PEMFC(质子交换膜燃料电池)因其高效、清洁等诸多优点,成为了科研与工业应用领域的热门话题。今天咱就来深挖一下PEMFC中的非等温两相流模型&…...
通信网络升级与算力基建驱动,稳增前行:全球光纤光缆油膏2026-2032年CAGR4.2%,2032年锚定3.15亿美元
QYResearch调研显示,2025年全球光纤光缆油膏市场规模大约为2.37亿美元,预计2032年将达到3.15亿美元,2026-2032期间年复合增长率(CAGR)为4.2%。产品定义:精细配方,保障性能光纤油膏,简…...
云原生应用开发实践:从开发到部署
云原生应用开发实践:从开发到部署 前言 哥们,别整那些花里胡哨的理论。今天直接上硬菜——我在大厂一线开发云原生应用的真实经验总结。作为一个白天写前端、晚上打鼓的硬核工程师,我对云原生开发的追求就像对鼓点节奏的把控一样严格。 背景 …...
Docker 学习之路-从入门到放弃-Jenkins:4
Jenkins 打开 ✅ 如图已经完全成功安装并初始化Jenkins了!从图1可以确认:能正常访问Jenkins Web管理界面、登录成功核心功能入口(Create a job/Manage Jenkins等)正常显示构建执行器(Build Executor Status)…...
从0开始的SPSS数据分析:基础概念与核心检验实战
1. 认识SPSS与数据分析基础 第一次打开SPSS时,很多人会被密密麻麻的菜单栏吓到。别担心,这就像刚拿到新手机需要熟悉界面一样正常。SPSS(Statistical Package for the Social Sciences)本质上是个"统计计算器"ÿ…...
别再只改max_clients了!CentOS 7上vsftpd 3.0.2并发性能实战调优(附Java压测代码)
CentOS 7下vsftpd 3.0.2高并发调优实战:突破传统认知的性能优化指南 在Linux服务器运维领域,FTP服务的高并发性能优化一直是个被低估的技术难点。许多工程师习惯性地将注意力集中在max_clients和max_per_ip这两个显性参数上,却忽略了那些真正…...
