当前位置:首页 > 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>  

分享给朋友:

相关文章

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

java如何打开

java如何打开

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

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

uniapp中如何使用iconfont

uniapp中如何使用iconfont

使用 Iconfont 在 Uniapp 中的步骤 下载 Iconfont 资源 访问 Iconfont 官网,选择需要的图标并添加到项目。下载时选择 Font class 格式,解压后会得到 .tt…

react如何使用路由

react如何使用路由

使用 React Router 的基本方法 React Router 是 React 应用中实现路由功能的核心库。以下是基本使用方法: 安装 React Router 依赖包: npm ins…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…