java httpssession有效吗?

2023-12-04

我在 tomcat 中使用 java servlet API。

我将用户名和带有属性用户名的 httpsession 保存在哈希表中,我想知道是否有办法检查 httpsession 是否有效。

我试过了:

try {
    String user = httpSession.getAttribute("username")
    return "is valid";
} catch (IllegalStateException e) {
    return "is not valid";
}

如果我不希望“已登录”用户从多个位置进行连接,我该怎么办?如果我仅控制是否创建新会话,我无法知道他是否已与另一个会话连接。


无需将 httpSession 存储在您自己的哈希中。

查看 API 的HttpServlet请求。如果你看一下方法getSession(布尔值 x)(传递 false 因此不会创建新会话)将确定会话是否有效。

这是一个例子

public void doGet(HttpServletRequest req, HttpServletResponse res) {
    HttpSession session = req.getSession(false);
    
    if (session == null) {
       //valid session doesn't exist
       //do something like send the user to a login screen
    }

    if (session.getAttribute("username") == null) {
       //no username in session
       //user probably hasn't logged in properly
    }

    //now let's pretend to log the user out for good measure
    session.invalidate();
}

附带说明一下,如果我正确阅读了您的问题并且您将信息存储在自己的映射中,那么您需要小心,不要造成内存泄漏并自行清除哈希表中的条目。

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

java httpssession有效吗? 的相关文章

随机推荐

  • 是否有工具/解决方案可以对循环进行编程,其中仅每 X 次迭代检查一次条件?

    例如 我有一个由 while 循环组成的函数 这个函数会检查素数 function isprime int number int i 2 int max int sqrt number 1 while i
  • 将中立者放在一边的李克特图

    我正在使用 Likert 包来创建调查问卷图 我想创建一个像这样的情节 其中中性反应被搁置 你知道在 R 中是否有办法做到这一点 一个如何重现情节的简单例子 lst lt c I dislike them a lot I dislike t
  • 如何将 facebook api 中的日期转换为 android 应用程序日期格式

    我正在开发一个类似于 android facebook 应用程序的应用程序 我从 Facebook 应用程序获得了创建的时间字段 created time 2012 11 28T12 53 40 0000 那么 我怎样才能将其转换为 and
  • C 指针:数组变量

    我在我的书中读到了这一点 以及互联网上的许多来源 数组变量points到数组中的第一个元素 如果为真 则数组变量和第一个元素是不同的 Right 这意味着通过下面的代码 它将产生两种不同的结果 int main char msg stack
  • 有没有办法在 Javascript 中组合对象

    我正在用 Javascript 进行一些数据清理 我想知道是否有一种方法可以根据通用 ID 组合对象 鉴于以下情况 subject Hadji Singh predicate nameOfUser id 3f540200 58b9 40a5
  • R Kruskal-Wallis 与多个因素

    我正在寻求帮助 对我的数据集执行大量因素的 Kruskal Wallis 检验 我可以对单个因素进行测试 例如 AD 1yr kruskal test Shannon AD 1y data comm 但我想要测试 50 多个因素 并且希望有
  • C 中未定义长度的数组

    我正在看教科书中的一个练习 内容是 创建一个 C 程序 从键盘获取长度为 N 的数组 问题是 在C语言中 如何创建未定义长度的数组 谢谢你们 不要创建未定义长度的数组 After得到需要的长度N 如果 C99 使用 VLA 可变长度数组 i
  • 垂直对齐位于浮动同级旁边的 Div 中的多行文本

    我有两个兄弟姐妹 其中一个占据父级宽度的 70 并向左浮动 它有一个clip path创建不规则多边形 同级 div 的宽度为父级 div 的 100 我已经放了一个shape outside浮动 div 上的属性允许同级中的文本以遵循多边
  • SupportMapFragment 或 GoogleMap 为 null

    设法使代码没有错误 但是在启动时 我总是在 mMap mapFrag getMap 行处收到空指针异常 为什么会这样呢 我是否缺少一些导入或一些步骤 我不确定是否是 SupportMapFragment 或 GoogleMap 对象导致了问
  • Plone 中是否有一种简单的方法可以在新用户加入门户时收到电子邮件通知?

    我希望每当新用户加入门户时都会向门户电子邮件地址发送电子邮件通知 我的猜测是我应该编写一个新产品来做到这一点 这样的产品是否已经存在 针对 Plone 4 我检查了内容规则 但据我所知 只有当我让用户对膜 记住之类的东西感到满意时 它才能起
  • 使用 PHP xmlwriter 在 xml 文件中添加多个数据

    我需要为每个月添加文章xml使用 PHP 文件xmlwriter sql SELECT YEAR FROM UNIXTIME timestamp AS YEAR MONTH FROM UNIXTIME timestamp AS MONTH
  • d3.js:从文件中绘制地图上两点之间的弧

    我是 d3 js 的新手 正在尝试一些简单的事情 我绘制了一张读取 file1 和 file2 的世界地图 file2 按索引 ID 纬度和经度列出机场 file1 通过机场的索引 ID 来对机场进行配对 我想画一条弧线 一条线或任何东西来
  • 依赖性跟踪功能

    我只是想知道是否有人知道如何在运行后自动创建视图DROP CASCADE 现在我试图首先放弃经典的视图DROP VIEW myview语句 如果我无法删除视图 因为其他对象仍然依赖于它 那么检查 postgres 列出的所有对象名称并保存它
  • Reactjs读取属性文件?

    我在寻找解决方案时遇到困难如何在reactJS中读取属性文件 我读过您可以使用模块 properties reader 但我似乎无法使要求工作 有简单的方法吗 例如 import React Component from react imp
  • Github - 需要有关发出拉取请求的帮助

    我分叉了一个项目 进行了更改 C1 并提出了仍待处理的拉取请求 一周后 我想提出另一个带有更改的拉取请求 C2 与此同时 上游 我分叉的地方 发生了很多变化 所以我想将我的 master 与上游同步 并且需要单独提供带有更改 C2 的拉取请
  • 类型或命名空间“Mvc”名称在命名空间“System.Web”中不存在

    我有一个使用 RazorEngine 生成电子邮件的类库 RazorEngine 使用 Mvc 我在我的库类中引用了 System Web Mvc 将其设置为复制本地 并且它存在于 Bin 文件夹中 但是我仍然得到这个例外 我让它工作的唯一
  • 这是在我的程序中嵌入调试消息的好方法吗? (宏)

    在 Debug h 文件中 我有以下内容 ifdef DEBUG FLAG define DEBUG msg std cerr lt lt msg lt lt std endl else define DEBUG msg for true
  • 托管 C# dll 上的 GetProcAddress

    我正在尝试通过 LoadLibrary 加载 C dll 我能够成功加载它 您能告诉我如何使用此 dll 的 GetProcAddress 以便我可以使用此 dll 中定义的方法和类型吗 提前致谢 EDIT 1 解决此问题的最佳方法是 CO
  • Web USB 从设备到浏览器传输数据无法正常工作

    上面是我的设备配置 我正在尝试从中获取数据 我正在使用下面的代码来获取数据 document getElementById request onclick function navigator usb requestDevice filte
  • java httpssession有效吗?

    我在 tomcat 中使用 java servlet API 我将用户名和带有属性用户名的 httpsession 保存在哈希表中 我想知道是否有办法检查 httpsession 是否有效 我试过了 try String user http