gpt4 book ai didi

java - 从 HttpSessionListener 中获取用户名

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:22 24 4
gpt4 key购买 nike

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

显然,一定有一个 HttpServletRequest 对象导致 session 被创建(因此 sessionCreated() 调用)。但是如何从 sessionCreated() 中访问它呢?传递给 sessionCreated()HttpSessionEvent 对象似乎无法获取导致 session 创建的 HttpServletRequest 对象。

最佳答案

HttpSessionListener 无权访问 HttpServletRequest 对象,因为它是在没有发出请求时调用的——通知 session 销毁或创建。

因此,过滤器会是您可以将 username = request.getRemoteUsr() 添加到 session 中的更好位置。

示例 - 过滤器代码

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

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

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

我希望您将获得在 HttpSessionListener sessionCreated() 方法中创建此 session 的相同请求的相同用户名。

关于java - 从 HttpSessionListener 中获取用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12833275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com