Java如何把session
获取 Session 对象
在 Java Web 开发中,可以通过 HttpServletRequest 对象获取当前会话的 HttpSession。例如:
HttpSession session = request.getSession();
调用 getSession() 方法时,若会话不存在会自动创建一个新会话,而 getSession(false) 仅在会话存在时返回,否则返回 null。
存储数据到 Session
使用 setAttribute(String name, Object value) 方法将数据存入 Session:
session.setAttribute("username", "JohnDoe");
键值对形式存储,支持任意可序列化对象。
从 Session 读取数据
通过 getAttribute(String name) 获取存储的数据,需强制类型转换:
String username = (String) session.getAttribute("username");
若键不存在则返回 null。
移除 Session 数据
使用 removeAttribute(String name) 清除特定数据:
session.removeAttribute("username");
销毁 Session
调用 invalidate() 方法终止当前会话并清除所有数据:
session.invalidate();
设置 Session 超时
在 web.xml 中配置全局超时(分钟):
<session-config>
<session-timeout>30</session-timeout>
</session-config>
或通过代码动态设置:

session.setMaxInactiveInterval(1800); // 单位:秒
监听 Session 事件
实现 HttpSessionListener 或 HttpSessionAttributeListener 接口可监听会话创建、销毁及属性变更事件。需在 web.xml 中配置监听器类。





