当前位置:首页 > 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中读取存储的数据。

java 如何使用session

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

移除Session属性

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

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

使Session失效

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

java 如何使用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中注册监听器:

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

分享给朋友:

相关文章

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…

java如何连接数据库

java如何连接数据库

Java连接数据库的方法 Java连接数据库通常使用JDBC(Java Database Connectivity)技术,以下是具体步骤和示例代码。 加载数据库驱动 在连接数据库之前,需要加载对应的…

java如何创建包

java如何创建包

创建Java包的步骤 在Java中,包(package)用于组织和管理类文件,避免命名冲突。以下是创建Java包的详细方法: 定义包名 在Java源文件的开头使用package关键字声明包名。包名…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…