jsp PageContext 对象的生命周期是怎样的 - 它是线程安全的吗?

2023-12-29

jsp PageContext 对象是作为 http 请求-响应周期的一部分创建和销毁的,还是在请求之间缓存和重用。

PageContext 具有建议在请求之间重用的生命周期方法。即初始化()、释放()。

如果重用它们,可能会造成严重的并发问题:如果两个 http 请求到达,请求同一个 jsp 页面,并且每个请求都由自己的线程处理,但在共享的 PageContext 对象上设置属性,则它们将呈现彼此的内容。

任何帮助表示赞赏。顺便说一句,我正在使用 Apache Sling 中嵌入的 servlet 容器。


PageContext 只能在您的 JSP 页面中使用。如果你的请求首先由servlet处理,然后转发到JSP页面(使用RequestDispatcher.forward),则pageContext仅在此JSP页面上可用,但无法从servlet访问它(因为还没有pageContext)当时)。

从JSP页面的角度来看,每次调用它都会获取新的pageContext。页面上下文可以在内部池化,但不能同时被多个 JSP 页面共享。

initialize and release方法有这样的注释:“页面或标签库作者不应使用此方法。”忘记他们吧。

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

jsp PageContext 对象的生命周期是怎样的 - 它是线程安全的吗? 的相关文章

随机推荐

  • MySQL选择范围内的坐标

    我的数据库中有 100 000 个地址 即记录 它们每个都有自己的坐标 纬度和经度 现在 给定用户的地理位置 纬度和经度 我想在地图上仅显示 5 英里范围内的地址 使用 Google 地图 v3 API 这意味着通常只需显示 100 000
  • 是否有用于属性字符串的 joinWithSeparator

    可以使用 joinWithSeparator 方法将字符串数组与特定分隔符连接在一起 let st apple pie potato st joinWithSeparator 结果我们就会得到 苹果 派 土豆 如果我在数组中添加了属性字符串
  • NHibernate 和 ADO.NET 连接池

    NHibernate 似乎没有池化 ADO NET 数据库连接 仅当事务提交或回滚时连接才会关闭 对源代码的审查表明 无法配置 NHibernate 以使其在 ISession 被释放时关闭连接 这种行为的意图是什么 ADO NET 本身具
  • 如何在flutter中制作动态图表?

    您好 我尝试在 flutter 中制作一个简单的图表 其中 x 轴为日期 Y 轴为数据 当我按下按钮时 当前日期的数据会增加 第一个目标通过以下代码完成 但现在我不知道如何使图表更加动态 我想要统计每个新的一天我按下的按钮 我不知道如何为每
  • 当我只绘制更大的轮廓对象时,Python Opencv drawContours 失败

    我正在尝试绘制最大物体的轮廓 首先 我将显示绘制所有轮廓的图像 为了找到最大的物体 我使用了这段代码 maxsize 0 best 0 count 0 for cnt in contours if cv2 contourArea cnt g
  • 获取旋转后di​​v角点像素位置

    在设置了旋转弧度 度数后 如何计算 div 的左上角 左下角 右上角 右下角像素位置 举个例子会很有帮助 假设旋转相对于中心四个角的坐标也相对于同一原点 每个点 a b where a and bdiv的半宽和半高需要乘以变换矩阵 cos
  • 输入::file() 返回 null Laravel

    我一直在编写一个上传脚本 即使我使用 Laravel 内置函数 Input file 它仍然返回 null 我将发布我的家庭控制器代码 public function handleUpload user Auth user username
  • Coldfusion 和 Linkedin API 工作示例 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人设法让 LinkedIn API 在 Coldfusion 应用程序中运行吗 Linkedin 开发
  • 贡献给状态栏的控件不可见

    我想在工作台窗口的状态栏中放置一个控件 整个过程应该是直接的 但无论我尝试什么 状态栏的贡献都不会变得可见 因为我没有做own应用程序 但只是向 IDE 提供一个插件 WorkbenchWindowAdvisor和朋友不是一个选择 扩展点是
  • HTML 提交按钮:不同的值/按钮文本?

    我想创建一个 HTML 表单提交按钮value add tag 但是 该网页是瑞典语的 所以我想要一个不同的按钮文字 也就是说 我想要一个像这样的按钮 但我想让我的代码像 if request getParameter cmd equals
  • 如何改变 DataFrame?

    我正在尝试从数据框中删除一些列 并且不希望返回修改后的数据框并将其重新分配给旧数据框 相反 我希望该函数只修改数据框 这是我尝试过的 但它似乎并没有做我所除外的事情 我的印象是参数是作为参考传递的 而不是按值传递的 function rem
  • 这个严格的别名示例正确吗?

    在过去的一周左右的时间里 我一直在阅读严格的别名规则 并遇到了这篇文章 了解 C C 严格别名 http dbp consulting com tutorials StrictAliasing html 本文介绍了几种交换 32 位整数的一
  • 打开模板文件时自动显示表单,来自资源管理器的 dotm

    我编写了一个基于表单的文档生成宏 用 VBA 编写 以便分发给销售团队 为了便于使用 我想提供一个独立的文件 该文件在打开文档后将立即显示该表单 使用 AutoOpen 如果 word 已经打开并且 dotm 文件已在其中打开 我可以让表单
  • 哪些 Google OAuth2 范围被视为“敏感”的列表在哪里?

    据我了解 Google OAuth2 范围大致分为三个部分 按从最难获准使用到最难的顺序排列 限制范围 灵敏范围 其他一切 我在这里找到了限制范围列表 https support google com cloud answer 911091
  • 如何在 pandas 中创建“排名”列?

    我正在尝试对专栏进行排名 col 1 在熊猫中 如果有平局 我想看另一栏 col 2 只是为了那些记录并打破平局 如果即使在该列中它们也相同 我只想随机分配排名 但每一行必须有唯一的排名 Example col1 col 2 Rank 20
  • 刷新 iFrame(缓存问题)

    我们遇到了一个奇怪的问题 我们不确定到底是什么原因造成的 让我详细说明一下这个问题 假设 我们有两个不同的html页面a html和b html 还有一个用index html编写的小脚本
  • 品牌形象太大且在 Bootstrap 导航栏上未对齐

    我的网站上的导航栏品牌出现一些问题 我希望它看起来垂直对齐并且尺寸较小 您能否建议如何实现这一点 div class navbar navbar default navbar fixed top style background color
  • Windows Powershell - 使用文本文档中的列表重命名文件列表

    我尝试使用以下代码重命名文件文件夹 C www folderx 使用文本列表 list txt 但我不知道如何获取当前文件索引 Get Childitem C www folderx OldName name NewName GC list
  • 使用 iText 从 pdf 文件获取文本字体

    我一直在尝试使用 iText 库提取 pdf 文档中每个单词的属性 字体 字体大小 颜色等 我可以从每个页面中提取文本 但不能提取属性 我也没有找到任何可以提供相同功能的东西 请帮我 我不是 Java 人员 所以我无法为您提供工作代码 但希
  • jsp PageContext 对象的生命周期是怎样的 - 它是线程安全的吗?

    jsp PageContext 对象是作为 http 请求 响应周期的一部分创建和销毁的 还是在请求之间缓存和重用 PageContext 具有建议在请求之间重用的生命周期方法 即初始化 释放 如果重用它们 可能会造成严重的并发问题 如果两