session的设置与获取
时间: 2024-09-28 07:03:56 浏览: 31
Session是在Web应用程序中用于存储用户会话数据的技术,主要用于保持用户的登录状态或其他需要持久化的信息。在Java Servlets或JSP中,设置和获取session的操作通常是这样的:
**设置session**:
```java
HttpSession session = request.getSession(); // 获取当前请求的session
session.setAttribute("username", "JohnDoe"); // 设置键值对,键为"username",值为"JohnDoe"
```
这里,我们首先通过`HttpServletRequest`对象的`getSession()`方法获取到当前会话。然后,使用`setAttribute()`方法将数据关联到session上,键(key)是我们想要存储的变量名,值则是对应的值。
**获取session**:
```java
HttpSession session = request.getSession();
String username = (String) session.getAttribute("username"); // 获取名为"username"的值
if (username != null) {
System.out.println("Welcome, " + username);
}
```
从session中获取数据时,先通过`getAttribute()`方法找到相应的键,返回的是对象,所以需要强制类型转换。
**注意事项**:
- `setAttribute()`方法的键必须是唯一的,如果尝试添加已存在的键,旧值会被替换。
- session默认是有生命周期的,在浏览器关闭后会被清除,也可以手动设置其maxInactiveInterval属性来调整超时时间。
- 对于敏感信息,建议使用HttpOnly标志来防止跨站脚本攻击(XSS)。
阅读全文