web开发中的四个域对象生命周期 作用域详细介绍

2023-10-27

Web开发中的四个域对象:

有范围小到大:page(jsp有效) request(一次请求)session(一次会话) application(当前web应用)

page域指的是pageContext.

request域指的是HttpServletRequest

session 域指的是 HTTPSession

application 域指的是 ServletContext

追所以他们是域对象,原因就是他们都内置了map集合,都有setAttribute getAttribute方法。

他们都有自己固定的生命周期和作用域。

这4个对象的生命周期

声明周期就是值对象的创建到销毁的期间。

page:jsp页面被执行,生命周期开始,jsp页面执行完毕,声明周期结束

request:用户发送一个请求,开始,服务器返回响应,请求结束,生命周期结束

session:用户打开浏览器访问,创建session(开始),session超时或被声明失效,该对象生命周期结束

application:web应用加载的时候创建。Web应用被移除或服务器关闭,对象销毁。[结束]。

Page只在当前jsp有效,每次请求风别对应不同的request.

Request,只在当前请求有效,每次请求分别对应不同的request域

Session只在一次会话中有效,会话结束就无法取到数据了。

四个域对象在选择的时候,能用范围小的绝不用范围大的

page:数据只是暂时存在集合,在jsp页面的其他地方要用,用page(页面中自定义的map)

     (什么时候需要用map了,就用page)

Request:数据只是做显示的,看完了就没用了。就存request域,请求转发,Servlet产生的处理结果(数据)交给jsp显示。 数据转发可以带数据。

Session:数据给用户看完了,一定还要用,会话结束了就没用了

     用户登录,用户信息发给客户端看,看完了,一会访问别的页面还要看用户信息。

     购物车,购物车成功了,给用户看购物车,待会随时间可以查看购物车

     请求重定向,因为是两次请求,每一次请求的数据,第二次请求还要看。

application:数据给一个用户用完了,别人还要用

     聊天室,聊天记录,需要给所有的用户看

     统计网站在线人数,所有看到的应该是一个数

总结:需要定义Map不如用page,请求转发Servlet,带给jsp的数据存request请求重定向带过去的数据存Session,全局的数据存application。

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

web开发中的四个域对象生命周期 作用域详细介绍 的相关文章

  • 强制用户注销会话 PHP

    我似乎无法找到这个问题的直接答案 有没有办法强制登录用户注销 我的登录系统本质上只依赖于包含用户唯一 ID 存储在 mysql 数据库中 的会话 所以本质上只是 if isset SESSION user id echo You re lo
  • 如何从WebBrowser控件获取图像

    我有一个 WebBrowser 控件 在浏览页面后我需要下载图像 我使用了以下代码 HtmlElementCollection tagsColl webBrowser1 Document GetElementsByTagName img f
  • 如何在 Laravel 5.2 控制器中使用会话

    我登录并将用户名保留在会话中 然后刷新此页面 但会话不保留值 这是我的代码 class WelcomeCtrl extends Controller public function gotoWelcome return view welco
  • 致命错误:无法在functions.php第25行中重新声明session_start()

    当我尝试让登录部分正常工作时遇到问题 我不断遇到的问题是 致命错误 无法在 public html login functions php 第 25 行重新声明 session start
  • Rails 3 session_store 域 :all 的作用是什么?

    更新了问题以使其更清楚 据我所知 您可以设置 session store 的域以在子域之间共享会话 如下所示 Rails application config session store cookie store key gt my key
  • 使用 ts-node 时,Typescript 的声明合并无法按预期工作

    对于使用的项目express session包 我正在尝试改变session只需添加用户密钥即可实现对象 req session user 123 来自 哪里这个问题的 https stackoverflow com q 65108033
  • 完全替换 ASP.Net 的会话

    ASP Net 会话对于传统的 WebForms 应用程序来说似乎很完美 但它们所做的一些事情对于现代 AJAX 和 MVC 应用程序来说是一个严重的问题 具体来说 访问 ASP Net 提供程序只有 3 种方法 锁定读和写 默认 会话被锁
  • NodeJS + Express + Mongo 会话存储

    我目前在尝试在 MongoDb 中存储会话时遇到了很大的麻烦 我尝试过express session mongo和connect mongodb 当我尝试加载登录页面时 两者都给出了相同的 500内部服务器错误 这让我觉得也许在某个地方与
  • 将 cookie 设置为在会话结束时过期? ASP.NET

    我很惊讶我找不到任何答案 如何将 cookie 中的 sessionid 设置为在会话结束时过期 当浏览器关闭或用户一段时间不活动时 我发现的两个解决方案是 httpcookie Expires HttpContext Current Se
  • Flask 会话不持久(Postman 有效,Javascript 无效)

    我正在开发一个 Flask 服务器 用于通过网络在一些后端 Python 功能和 Javascript 客户端之间进行通信 我正在尝试利用 Flask 的session变量来存储用户在与应用程序交互过程中的特定数据 我已经删除了下面大部分应
  • Meteor js:使Session对象部分持久化

    在我的流星应用程序中 我使用会话来存储有关用户活动的临时信息 我想使用 amplify js 将此信息的某些部分保留到浏览器 但不是全部 我想要一种拥有 临时 会话密钥和 持久 会话密钥的方法 例如我可以打电话 Session set pe
  • Codeigniter - 检查用户是否已登录并存在(它是真实用户)

    我正在尝试在用户登录我的网站时为他们设置会话数据 因此 如果用户存在于数据库中 我将设置一个会话数据 例如 this gt session gt set userdata user exists 1 现在 每次我想检查用户是否存在并已登录时
  • 会话过期后如何重定向到登录页面?

    我有三个 JSF 2 0 Web 模块 当会话过期时我需要重定向到登录页面 我已经尝试过使用HttpSessionListener 它正在调用sessionDestroyed 事件方法 但我无法在那里转发 重定向请求 我认为这是因为没有Ht
  • 如何在 C# 中将 cookie 过期设置为“会话”?

    不言自明 在 PHP 中 解决方案是将 cookie 过期设置为 0 我不确定 C 因为它需要 DateTime 值 的文档Cookie 过期 http msdn microsoft com en us library system net
  • 连接多个用户的 R 闪亮会话

    最小可重现示例 library shiny ui lt fluidPage actionButton button1 Run 1 actionButton button2 Run 2 server lt function session i
  • Facebook-API 中的会话密钥和访问令牌

    有人可以向我解释一下什么是会话密钥和访问令牌吗 怎样才能抓住那两个人呢 为什么以及何时需要使用它们 什么时候是 一次性 什么时候不是 另外 他们之间有什么区别 请用Java 来做 我是一位刚接触 facebook API 的 Java 开发
  • Facebook API - fql_query,无效会话

    我正在尝试使用 PHP 库查询 Facebook 我读到的内容不应该需要会话密钥 或者更确切地说 对于我的情况 它不应该需要会话密钥 但下面的代码给出了以下错误 Session密钥无效或不再有效 http wiki developers f
  • 在会话 cookie 中存储大量数据会产生什么影响?

    谁能解释一下在会话中存储大量数据的缺点或给我指出一些阅读材料 我也很感兴趣在会话中存储数据和从数据文件读取数据之间是否有任何区别 如果您在会话中存储大量数据 则输入 输出性能会下降 因为会有大量读取 写入 默认情况下 PHP 中的会话存储在
  • 休眠会话已关闭

    当我调用方法 session begin 事务时 如下所示 session factory is instantiated via a bean Session session this getSessionFactory getCurre
  • 检测 ASP.NET MVC 上的会话过期

    我构建了一个购物车 它使用会话状态在用户浏览商店时保留购物车数据 我遇到一个问题 如果我在购物车的第 1 步上长时间打开浏览器窗口 然后按 转到第 2 步 我的操作会引发错误 因为第 2 步操作假定会话尚未过期并且ShopCart 对象处于

随机推荐

  • Java中的List集合 ,Set集合,Map 的使用

    一 List集合 List集合是有序的 且元素可以重复 ArrayList 就是一个动态的数组 LinkedList 基于链表的存储结构 特点 ArrayList 查询快 增删慢 LinkList 查询慢 增删快 代码演示 list 有序
  • win10和win11系统,手机或者其他设备连接不上电脑热点,一直在转圈圈的解决方法

    win10 win11系统 1 点击win选择设置 一个齿轮 不好截图就不放图了 2 选择网络和internet 3 选择高级网络设置 4 选择更多网络适配选项 5 选择WLAN 右键属性 6 共享 gt 允许其他网络用户通过此计算机的 家
  • openwrt之snmpd

    OpenWRT uses UCI etc config snmpd to generate the etc snmp snmpd conf so you cannot simply edit this file and restart sn
  • 最新通信工程专业毕业设计题目选题推荐 - 100例

    文章目录 1前言 2 如何选题 3 通信工程选题方向 3 1 移动通信方向 3 2 嵌入式开发方向 3 3 人工智能方向 3 4 物联网方向 3 5 算法研究方向 3 6 移动应用开发方向 3 7 网络通信方向 3 8 学长作品展示 4 最
  • python查看变量内存地址的内置函数是_查看变量内存地址的Python内置函数是____...

    查看变量内存地址的Python内置函数是 答 id 产妇乳汁分泌主要依赖于 答 哺乳时吸吮刺激 下列选项中 属于 路径面板 中的工具按钮的是 答 用前景色填充路径 用画笔描边路径 将路径作为选区载入 从选区生成工作路径 添加图层蒙版 属于一
  • CentOS 8 Cannot prepare internal mirrorlist No URLs in mirrorlist

    CentOS 8 Cannot prepare internal mirrorlist No URLs in mirrorlist 解决方法 输入以下命令 sudo dnf install y curl policycoreutils op
  • 【Linux网络编程笔记】TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—基础知识篇

    最近遇到一个线上报警 服务器出现大量TIME WAIT导致其无法与下游模块建立新HTTP连接 在解决过程中 通过查阅经典教材和技术文章 加深了对TCP网络问题的理解 作为笔记 记录于此 备注 本文主要介绍TCP编程中涉及到的众多基础知识 关
  • spring源码学习:spring初始化流程

    首先借个图 说明一下spring的bean的整个生命流程 销毁什么的这个看图就知道怎么回事 使用的话一般都是纯业务 而且我们更关心spring是怎么初始化的 初始化成我们定义的那个样子 我们就是以这个出发点来看一下spring的大概流程 s
  • GIS_开源GIS

    GIS 开源GIS 图 文 QGIS QGIS是一个开放源码的地理信息系统 该项目诞生于2002年5月 并于同年6月作为SourceForge上的一个项目建立 我们一直在努力使GIS软件 传统上是昂贵的专有软件 成为任何人都可以使用个人电脑
  • python ADF检验

    前言 本文对ADF检验进行研究 python示例代码 不对概念进行分析介绍 Code import numpy as np import matplotlib pyplot as plt from statsmodels tsa statt
  • EPOLLRDHUP EPOLLHUP 事件

    EPOLLRDHUP是从Linux内核2 6 17开始由GNU引入的事件 对端正常关闭 程序里close shell下kill或ctr c 触发EPOLLIN和EPOLLRDHUP 但是不触发EPOLLERR 和EPOLLHUP 再man
  • 最新物联网毕设100例(一)

    单片机毕业设计项目分享系列 这里是DD学长 单片机毕业设计及享100例系列的第一篇 目的是分享高质量的毕设作品给大家 包含全面内容 源码 原理图 PCB 实物演示 论文 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的单片机项目缺少
  • 图像分割套件PaddleSeg全面解析(八)预测代码解读

    训练完成模型之后 可以对图片进行预测 还可以实现模型结果可视化 查看分割效果 运行命令如下 python predict py config configs quick start bisenet optic disc 512x512 1k
  • C# ListView用法详解

    拖控件 listView 控件到新建form中 并添加相应的button lable和textbox 如下图 1 点击表格右上角的三角形 添加表头信息 2 Name 程序里调用的名称 Text 表格里显示的信息 其它可以设置大小等信息 3
  • 视频托管--七牛云

    目录 vue video player 视频托管 vue video player 安装 npm install vue video player S 在main js导入 vue video播放器 require video js dis
  • npm登录:忘记了用户名和密码,通过邮箱找回流程

    登录npm时发现用户名和密码我都忘了 幸好绑定了邮箱 通过邮箱重设密码与登录 1 在npm官网sign in界面点击Forgot password 2 输入邮箱发送email 3 邮件中会给出你的用户名和一个地址跳转链接 点击跳转链接 4
  • 查看docker运行中的命令行输出

    访问本站观看效果更佳 当我在用docker跑pytorch时 因为训练时间长 网络不好的时候 终端会停止输出命令行结果 为了查看命令行的输出结果 我们可以运行如下命令 docker logs ID或者名字 可以查看容器内部的标准输出 下面再
  • cmmi实践访谈测试ppt_汽车嵌入式软件测试——软件质量度量评价指标

    在上一期中 介绍了常见的软件质量度量模型 McCall Boehm ISO 9126模型 通过这些模型可以对软件质量进行科学的评价 在本期中 主要介绍 7个软件质量的评价指标 编码规范 源代码行 千行代码bug率 圈复杂度 代码覆盖率 扇入
  • Tensorflow Lite之编译生成tflite文件

    这是tensorflow生成的各种模型文件 GraphDef pb a protobuf that represents the TensorFlow training and or computation graph This conta
  • web开发中的四个域对象生命周期 作用域详细介绍

    Web开发中的四个域对象 有范围小到大 page jsp有效 request 一次请求 session 一次会话 application 当前web应用 page域指的是pageContext request域指的是HttpServletR