域对象的共享数据
什么是域对象
域对象主要用于web应用中,负责存储数据,通俗的讲就是这个对象本身存储一定范围内的所有数据,通过他就能获取和存储数据,可以理解为万能的一个属性,只要调用他就可以获得这个范围(域)内的想要的数据,可以修改删除数据,当然也可以给这个域添加数据
域对象分类
根据作用域的不同分类:
- PageContext 存在于jsp文件中,自己本身作为域对象可以存储和查询修改数据,但是目前基本不在应用jsp,不做过多讲解
- HttpServletRequest请求域对象,只有一次请求,所以相同的请求域可以用来存储数据并传输域对象共有的方法
- session域对象,在同一个客户访问服务器时,如果发生了响应重定向,则之前的request域中存在的数据就会丢失,所以出现session域对象,用来记录是否是同一个客户进行访问,进行会话跟踪,并进行数据存储和获取
- ServletContext域 公共接口类型,作用域整个web项目,用来获取和存储web中的数据,ServletContext接口对象是随着web项目的加载而创建的,每个web项目都有一个ServletContext,因此在进行不同的Servlet对象之间传递数据时可以使用ServletContext域对象
域对象共享数据:
1、使用ServletAPI向request域对象共享数据
就是转发
2、使用ModelAndView向request域对象共享数据
3、使用model向request域对象共享数据
4、使用map向request域对象共享数据
5、使用ModelMap向request域对象共享数据
Model、ModelMap、Map类型的参数其实质上都是BindingAwareModelMap类型
控制器执行后都会返回一个统一的ModelAndView的对象,所以SpringMVC建议的是使用ModelAndView,同时,对于原生的ServletAPI不建议使用
6、向session域对象共享数据
1
2
3
4
5
|
@RequestMapping ( "/testSession" ) public String testSession(HttpSession session){ session.setAttribute( "testScope" , "hello,Session" ); return "success" ; } |
在Thymeleaf中,对于session的数据获取应该为:
1
|
<p th:text= "${session.testScope}" ></p> |
向application域共享数据(ServletContext)
1
2
3
4
5
6
|
@RequestMapping ( "/testApplication" ) public String testApplication(HttpSession session) ServletContext application = session.getServletContext(); application.setAttribute( "testScope" , "hello,application" ); return "success" ; } |
在Thymeleaf中,对于application的数据获取应该为:
1
|
<p th:text= "${application.testScope}" ></p> |
__EOF__

本文作者:夜雨闻铃
本文链接:https://www.cnblogs.com/sugeek/articles/16918988.html
关于博主:编程菜鸟一只,希望每个今天胜过昨天,一步步走向技术的高峰!
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/sugeek/articles/16918988.html
关于博主:编程菜鸟一只,希望每个今天胜过昨天,一步步走向技术的高峰!
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具