从 HttpSessionListener 中获取用户名

2024-01-13

我想从内部获取用户名HttpSessionListener.sessionCreated()。当我说用户名时,我特指的是返回的名称HttpServletRequest.getRemoteUser().

显然,一定有一个HttpServletRequest导致会话被创建的对象(因此sessionCreated()称呼)。但我如何从内部访问它sessionCreated()? The HttpSessionEvent对象传入sessionCreated()似乎没有提供途径HttpServletRequest导致创建会话的对象。


HttpSessionListener 无法访问 HttpServletRequest 对象,因为它是在未发出请求时调用的,以通知会话销毁或创建。

因此,过滤器是更好的地方,您可以将 username = request.getRemoteUser() 添加到会话中。

示例 - 过滤器代码

String username = request.getRemoteUsr() ;
session.setAttribute("username",username);

然后在 sessionCreated 方法中检索此用户名

String username = (String)session.getAttribute("username");

我希望您能获得在 HttpSessionListener session Created() 方法中创建此会话的同一请求的相同用户名。

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

从 HttpSessionListener 中获取用户名 的相关文章

随机推荐

  • 使用 c3 js 从 json 绘制饼图

    以代码为例 我需要生成一个有 4 个分区 site1 site2 的饼图 每个分区对应于其各自的上传值 在上面的代码中我无法实现这一点 我已指定值 upload 我必须指定的确切值是多少 Thanks chart c3 generate d
  • 处理并发文件写入

    我正在开发一个 ASP NET 应用程序 它接受用户输入并将其序列化到文本文件中 现在 当文件仍在写入时出现第二个更新请求时 将生成 IOException 如何处理对此文件的并发更新请求 你可以实现一个生产者 消费者 其中主线程将对象添加
  • NeuQuant.js(JavaScript颜色量化)JS转换中隐藏的bug

    NeuQuant js https github com antimatter15 jsgif blob master NeuQuant js当图像宽度和高度是 100 的倍数时效果很好 300x300 否则的话 显然有一个bug 299x
  • 如何在 Chrome 开发工具中设置元素的 :hover 状态并编辑子元素的样式

    假设我们有这样的风格 parent child parent hover child 两个选择器都为子元素设置样式 我想要的是编辑第二种样式 我点击 parent并设置 hoverChrome 开发者工具中的状态 单击一个 child元素来
  • 2d 矩阵的 Numpy 矩阵乘法得到 3d 矩阵

    我有两个 numpy 数组 比如 A array 0 1 2 3 4 5 B array 6 7 8 9 10 11 对于 A 和 B 的每一行 分别表示 Ra 和 Rb 我想计算转置 Ra Rb 因此 对于给定的 A 和 B 值 我想要以
  • “NoneType”对象没有属性“secret_key”

    我收到这个错误 NoneType 对象没有属性 secret key 当我尝试使用更新我的应用程序时git pull我已经在以下路径配置了AWS凭证 纳米 home USER aws config 我让它 我提到的存档 如下 profile
  • 如何将非消耗性订阅改为自动续订并保留老用户?

    我在 Apple Store 中有非消耗品定价的应用内购买功能 该应用程序的使用需要付费 如何将非消耗性订阅更改为自动续订订阅 以某种方式保留购买该应用程序的用户 新用户可通过自动续订订阅付费 不 你无法更改它 只需确保在你的应用程序中 你
  • android putextra 没有启动活动

    我需要帮助 我有两个活动和一个数据库 我想做的就是当我按下活动 A 中的按钮时 我将 editText 中的字符串发送到活动 B 在活动 B 中 我尝试将该字符串插入我的数据库中并将其显示在列表视图中 如果我在活动 A 中启动活动 B 则一
  • 如何让iOS应用程序与蓝牙连接?

    如何使用蓝牙制作iOS应用程序 我需要一个通过蓝牙与其他设备 例如笔记本电脑 连接并交换数据的应用程序 许多 BLE 软件包 但无法找到经典蓝牙的软件包 如果您想使用Apple iOS设备的经典蓝牙接口 您必须遵守 接受苹果的MFi htt
  • PHP:在线程之间共享静态变量

    我在 PHP 的不同线程之间共享静态变量时遇到问题 简而言之 我想要 1 在一个线程中写入静态变量 2 在其他线程中读取并进行所需处理并清理 为了测试上述要求 我编写了下面的 PHP 脚本
  • Guava 缓存“expireAfterWrite”似乎并不总是有效

    private Cache
  • 如何将 5000 多行从 google Analytics 导出到 Excel

    我正在尝试将 5000 多行从 google Analytics 导出到 Excel 工作表 但我无法这样做 我在谷歌上搜索了很多关于它的内容 并尝试了 url 修改来替换explorer table rowCount 3D5000 wit
  • Android Facebook 登录:如何在 XML 中没有 LoginButton 的情况下使用 LoginManager 检查登录情况

    我已经使用 LoginButton 在我的 Android 应用程序中完成了 facebook 登录检查 但我想使用 LoginManager 进行检查 我怎样才能修改我的代码以这种方式工作 LoginButton loginButton
  • 获取 Chrome 的当前区域设置

    我正在使用此 API 确定浏览器的当前区域设置 var language window navigator userLanguage window navigator language 此次回归 fr FR 在 IE 中 但它只返回 fr
  • 在 JavaScript 中从 DataURL 下载文件

    从 DataURL 获得的这个字符串中 将其下载为文件的最佳方法是什么 到目前为止我得到的是使用基本的window open myDataURL 但我无法以这种方式更改文件名 window open data application msw
  • Spring Boot 3 与 Lombok

    将我的项目从 Spring Boot 2 7 升级到 3 0 后 我得到 找不到标志 由于 Lombok 生成的代码而导致编译器错误 有什么方法可以让它协同工作 Spring Boot 3 和 Lombok 注释 您应该更新到 lombok
  • 右键单击以选择 Datagridview 中的一行并显示一个菜单以将其删除

    我的 DataGridView 中只有几列 而我的行中有数据 我在这里看到了一些解决方案 但我无法将它们组合起来 只需右键单击一行 它将选择整行并显示一个菜单 其中包含删除该行的选项 当选择该选项时 它将删除该行 我做了几次尝试 但都不起作
  • 了解 R 中的列表索引和括号约定

    我几乎了解 R 中的列表索引 但我有一些挥之不去的问题 具体来说 我试图了解使用多个索引来获取列表中的不同数据层 以及在每个数据类型的每个级别使用的括号类型 首先 我将展示一个简单的示例列表和我到目前为止的理解 Make an exampl
  • 向特定用户发送推送通知 - Laravel

    在我的 laravel 应用程序中 我想使用 Pusher 向特定用户发送通知 我将此代码放入我的方法中 pusher App make pusher pusher gt trigger notification channel notif
  • 从 HttpSessionListener 中获取用户名

    我想从内部获取用户名HttpSessionListener sessionCreated 当我说用户名时 我特指的是返回的名称HttpServletRequest getRemoteUser 显然 一定有一个HttpServletReque