java - 删除名称以特定名称开头的 session 属性

标签 java servlets httpsession

在我的 servlet 中,如果我想删除我运行的特定 session 属性:

session.removeAttribute("user");

我想删除所有这些:

session.invalidate();

如何仅删除名称以特定值开头的 session 属性?例如,改为运行:

session.removeAttribute("userDsdf");
session.removeAttribute("userSDFSF");
session.removeAttribute("userVSDfs");
session.removeAttribute("userESFDFS");

运行类似session.removeAttribute("user%");

最佳答案

您可以使用流查看属性名称:

Collections.list(session.getAttributeNames()).stream()
        .filter(a -> a.startsWith("user"))
            .forEach(a -> session.removeAttribute(a));

关于java - 删除名称以特定名称开头的 session 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69627286/

相关文章:

java - 将范围与 HttpSessionListener 连接

java - 用于管理不同 Controller 在http session 中设置/修改/使用的信息的设计模式?

java - Spring Rest 模板用 Spock 进行模拟

java - 将坐标纬度和经度更改为 andress

java - 如何从 Java 控制台读取单个字符(当用户键入时)?

java - 我怎样才能将其更改为数组?

Java Servlet POST 操作未从请求中接收参数

java - "SocketException: Unexpected end of file from server"来自 servlet 但不是来自独立应用程序

java - jsp:useBean,使用先前创建的 session 作用域 bean

java - 在 wicket 应用程序中使用什么方法注销?