当前位置:首页 > Java

java 如何使用session

2026-02-04 21:42:19Java

创建和获取Session

在Java Web应用中,可以通过HttpServletRequest对象获取HttpSession。如果Session不存在,可以自动创建一个新的Session。

HttpSession session = request.getSession(); // 获取Session,若不存在则创建  
HttpSession existingSession = request.getSession(false); // 仅获取现有Session,若不存在返回null  

设置Session属性

通过setAttribute方法可以向Session中存储数据,数据以键值对形式保存。

session.setAttribute("username", "admin"); // 存储用户名  
session.setAttribute("loginTime", new Date()); // 存储登录时间  

获取Session属性

使用getAttribute方法可以从Session中读取存储的数据。

String username = (String) session.getAttribute("username"); // 获取用户名  
Date loginTime = (Date) session.getAttribute("loginTime"); // 获取登录时间  

移除Session属性

通过removeAttribute方法可以删除Session中的某个属性。

session.removeAttribute("username"); // 移除用户名  

使Session失效

调用invalidate方法可以使当前Session失效,通常在用户注销时使用。

session.invalidate(); // 销毁Session  

设置Session超时时间

可以在web.xml中配置全局Session超时时间(单位为分钟),也可以在代码中动态设置。

<!-- web.xml配置 -->  
<session-config>  
    <session-timeout>30</session-timeout> <!-- 30分钟后Session失效 -->  
</session-config>  
// 代码中动态设置(单位为秒)  
session.setMaxInactiveInterval(1800); // 30分钟  

监听Session事件

通过实现HttpSessionListenerHttpSessionAttributeListener接口,可以监听Session的创建、销毁和属性变化。

public class MySessionListener implements HttpSessionListener {  
    @Override  
    public void sessionCreated(HttpSessionEvent se) {  
        System.out.println("Session created: " + se.getSession().getId());  
    }  

    @Override  
    public void sessionDestroyed(HttpSessionEvent se) {  
        System.out.println("Session destroyed: " + se.getSession().getId());  
    }  
}  

web.xml中注册监听器:

java 如何使用session

<listener>  
    <listener-class>com.example.MySessionListener</listener-class>  
</listener>  

分享给朋友:

相关文章

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

java如何入门

java如何入门

学习基础语法 从Java的基础语法开始,包括变量、数据类型、运算符、控制结构(if-else、for循环、while循环)等。可以通过官方文档或入门教程学习。 安装开发环境 下载并安装JDK(J…

如何用java编程

如何用java编程

Java编程基础指南 环境配置 安装Java开发工具包(JDK),推荐使用最新版本。配置环境变量,确保JAVA_HOME指向JDK安装路径,并将bin目录添加到系统PATH中。验证安装是否成功: j…

react激光如何使用

react激光如何使用

安装React激光库 在项目中安装React激光库,通常通过npm或yarn完成。确保项目已初始化并具备React环境。 npm install react-laser-beam # 或 yar…